* bmc 57810 UP link
From: hallouin.matthieu @ 2014-01-23 10:39 UTC (permalink / raw)
To: netdev
hi,
I'm sorry to disturb you but I'm looking for how to force bmc 57810 UP link if you only connect the RX fiber SFP +?
This in order not to send the frame via the fiber TX.
when I made a ethtool, I still no link.
thank you
^ permalink raw reply
* Re: [PATCH v2 net-next 05/12] bonding: extend arp_validate to be able to receive unvalidated arp-only traffic
From: Veaceslav Falico @ 2014-01-23 10:25 UTC (permalink / raw)
To: Jay Vosburgh; +Cc: netdev, Andy Gospodarek
In-Reply-To: <32086.1389991289@death.nxdomain>
On Fri, Jan 17, 2014 at 12:41:29PM -0800, Jay Vosburgh wrote:
>Veaceslav Falico <vfalico@redhat.com> wrote:
...snip...
>>--- a/drivers/net/bonding/bonding.h
>>+++ b/drivers/net/bonding/bonding.h
>>@@ -318,6 +318,11 @@ static inline bool bond_is_active_slave(struct slave *slave)
>> #define BOND_ARP_VALIDATE_BACKUP (1 << BOND_STATE_BACKUP)
>> #define BOND_ARP_VALIDATE_ALL (BOND_ARP_VALIDATE_ACTIVE | \
>> BOND_ARP_VALIDATE_BACKUP)
>>+#define BOND_ARP_VALIDATE_ARP (BOND_ARP_VALIDATE_ALL + 1)
>>+#define BOND_ARP_VALIDATE_ACTIVE_ARP (BOND_ARP_VALIDATE_ACTIVE | \
>>+ BOND_ARP_VALIDATE_ARP)
>>+#define BOND_ARP_VALIDATE_BACKUP_ARP (BOND_ARP_VALIDATE_BACKUP | \
>>+ BOND_ARP_VALIDATE_ARP)
>
> If you go with my suggestion to call the new thing "filtering,"
>I'd change these option names, labels, and the function
>"slave_do_arp_validate_only" names. The function name seems kind of
>confusing in particular. I think it'd be clearer to replace the
>"validate" stuff with "filter."
Hi Jay,
Sorry for the delay. Yep, completely agree, I'll change the doc/rename the
functions/defines to use "filtering" instead of double-arp.
I'll re-send it once I'll fix the current bonding state...
Thank you!
>
> -J
>
>> static inline int slave_do_arp_validate(struct bonding *bond,
>> struct slave *slave)
>>@@ -325,6 +330,12 @@ static inline int slave_do_arp_validate(struct bonding *bond,
>> return bond->params.arp_validate & (1 << bond_slave_state(slave));
>> }
>>
>>+static inline int slave_do_arp_validate_only(struct bonding *bond,
>>+ struct slave *slave)
>>+{
>>+ return bond->params.arp_validate & BOND_ARP_VALIDATE_ARP;
>>+}
>>+
>> /* Get the oldest arp which we've received on this slave for bond's
>> * arp_targets.
>> */
>>--
>>1.8.4
>>
>
>---
> -Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
>
^ permalink raw reply
* Re: [PATCH 4/4] ipv4: mark nexthop as dead when it's subnet becomes unreachable
From: Julian Anastasov @ 2014-01-23 10:06 UTC (permalink / raw)
To: Sergey Popovich; +Cc: netdev
In-Reply-To: <40044b636dbf7ae5bba5fe2873451e14438ec170.1390304505.git.popovich_sergei@mail.ru>
Hello,
On Tue, 21 Jan 2014, Sergey Popovich wrote:
> + if (nexthop_nh->nh_dev != dev ||
> + nexthop_nh->nh_scope == scope ||
> + (ifa && !inet_ifa_match(nexthop_nh->nh_gw, ifa)))
What if nh_gw is part from another smaller/larger subnet?
For example, what if we still have 10.0.0.200/8 ? 10.0.10.5 is
still reachable, i.e. fib_check_nh() would create such NH.
IMHO, marking NH by exact nh_gw looks more acceptable because
the exact GW becomes unreachable. Otherwise, you will need
fib_lookup() as in fib_check_nh() to check that NH becomes
unreachable.
Regards
--
Julian Anastasov <ja@ssi.bg>
^ permalink raw reply
* Re: Linux kernel patch: elide fib_validate_source() completely when possible - bad side effect?
From: Julian Anastasov @ 2014-01-23 9:47 UTC (permalink / raw)
To: Hannes Frederic Sowa; +Cc: David Miller, gregory.hoggarth, netdev
In-Reply-To: <20140123030329.GI7269@order.stressinduktion.org>
Hello,
On Thu, 23 Jan 2014, Hannes Frederic Sowa wrote:
> E.g. we register all local registered broadcast addresses in a structure
> like inet_addr_lst so we only need to check if the packet would leave
> this host with a broadcast hardware address. If the packet is forwarded
> the router must do the same check as only it knows the local broadcast
> addresses. I hope this is correct. ;)
Now when we can override the local table with ip
rules or to prepend route in local table, we can not be
sure that the broadcast routes are returned in all cases,
users can add unicast routes for such addresses.
I don't remember for useful case where one may need to
override broadcast routes but adding such exceptions looks
risky.
Regards
--
Julian Anastasov <ja@ssi.bg>
^ permalink raw reply
* [PATCH net-next 2/3] sch_netem: change some func's param from "struct Qdisc *" to "struct netem_sched_data *"
From: Yang Yingliang @ 2014-01-23 9:31 UTC (permalink / raw)
To: netdev; +Cc: stephen, davem
In-Reply-To: <1390469499-31952-1-git-send-email-yangyingliang@huawei.com>
In netem_change(), we have already get "struct netem_sched_data *q".
Replace params of get_correlation() and other similar functions with
"struct netem_sched_data *q".
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
net/sched/sch_netem.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index c90de21..7e15f08 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -689,9 +689,8 @@ static int get_dist_table(struct Qdisc *sch, const struct nlattr *attr)
return 0;
}
-static void get_correlation(struct Qdisc *sch, const struct nlattr *attr)
+static void get_correlation(struct netem_sched_data *q, const struct nlattr *attr)
{
- struct netem_sched_data *q = qdisc_priv(sch);
const struct tc_netem_corr *c = nla_data(attr);
init_crandom(&q->delay_cor, c->delay_corr);
@@ -699,27 +698,24 @@ static void get_correlation(struct Qdisc *sch, const struct nlattr *attr)
init_crandom(&q->dup_cor, c->dup_corr);
}
-static void get_reorder(struct Qdisc *sch, const struct nlattr *attr)
+static void get_reorder(struct netem_sched_data *q, const struct nlattr *attr)
{
- struct netem_sched_data *q = qdisc_priv(sch);
const struct tc_netem_reorder *r = nla_data(attr);
q->reorder = r->probability;
init_crandom(&q->reorder_cor, r->correlation);
}
-static void get_corrupt(struct Qdisc *sch, const struct nlattr *attr)
+static void get_corrupt(struct netem_sched_data *q, const struct nlattr *attr)
{
- struct netem_sched_data *q = qdisc_priv(sch);
const struct tc_netem_corrupt *r = nla_data(attr);
q->corrupt = r->probability;
init_crandom(&q->corrupt_cor, r->correlation);
}
-static void get_rate(struct Qdisc *sch, const struct nlattr *attr)
+static void get_rate(struct netem_sched_data *q, const struct nlattr *attr)
{
- struct netem_sched_data *q = qdisc_priv(sch);
const struct tc_netem_rate *r = nla_data(attr);
q->rate = r->rate;
@@ -730,9 +726,8 @@ static void get_rate(struct Qdisc *sch, const struct nlattr *attr)
q->cell_overhead = r->cell_overhead;
}
-static int get_loss_clg(struct Qdisc *sch, const struct nlattr *attr)
+static int get_loss_clg(struct netem_sched_data *q, const struct nlattr *attr)
{
- struct netem_sched_data *q = qdisc_priv(sch);
const struct nlattr *la;
int rem;
@@ -836,7 +831,7 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
old_loss_model = q->loss_model;
if (tb[TCA_NETEM_LOSS]) {
- ret = get_loss_clg(sch, tb[TCA_NETEM_LOSS]);
+ ret = get_loss_clg(q, tb[TCA_NETEM_LOSS]);
if (ret) {
q->loss_model = old_loss_model;
return ret;
@@ -874,16 +869,16 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
q->reorder = ~0;
if (tb[TCA_NETEM_CORR])
- get_correlation(sch, tb[TCA_NETEM_CORR]);
+ get_correlation(q, tb[TCA_NETEM_CORR]);
if (tb[TCA_NETEM_REORDER])
- get_reorder(sch, tb[TCA_NETEM_REORDER]);
+ get_reorder(q, tb[TCA_NETEM_REORDER]);
if (tb[TCA_NETEM_CORRUPT])
- get_corrupt(sch, tb[TCA_NETEM_CORRUPT]);
+ get_corrupt(q, tb[TCA_NETEM_CORRUPT]);
if (tb[TCA_NETEM_RATE])
- get_rate(sch, tb[TCA_NETEM_RATE]);
+ get_rate(q, tb[TCA_NETEM_RATE]);
if (tb[TCA_NETEM_RATE64])
q->rate = max_t(u64, q->rate,
--
1.8.0
^ permalink raw reply related
* [[Xen-devel] [PATCH net-next v3] xen-netfront: clean up code in xennet_release_rx_bufs
From: Annie Li @ 2014-01-23 1:36 UTC (permalink / raw)
To: xen-devel, netdev
Cc: konrad.wilk, ian.campbell, wei.liu2, david.vrabel, annie.li
From: Annie Li <annie.li@oracle.com>
This patch removes grant transfer code from netfront, and improves ending
grant acess mechanism since gnttab_end_foreign_access_ref may fail when
the grant entry is currently used for reading or writing.
* release grant reference and skb for tx/rx path, use get_page/put_page to
ensure page is released when grant access is completed successfully.
* change corresponding code in xen-blkfront/xen-tpmfront/xen-pcifront because
of code change for put_page in gnttab_end_foreign_access.
* clean up grant transfer code kept from old netfront(2.6.18) which grants
pages for access/map and transfer. But grant transfer is deprecated in current
netfront, so remove corresponding release code for transfer.
V3: Changes as suggestion from David Vrabel, ensure pages are not freed untill
grant acess is ended.
V2: improve patch comments.
Signed-off-by: Annie Li <annie.li@oracle.com>
---
drivers/block/xen-blkfront.c | 25 ++++++++---
drivers/char/tpm/xen-tpmfront.c | 7 +++-
drivers/net/xen-netfront.c | 93 ++++++++++++--------------------------
drivers/pci/xen-pcifront.c | 7 +++-
drivers/xen/grant-table.c | 4 +-
5 files changed, 63 insertions(+), 73 deletions(-)
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index c4a4c90..c300bfd 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -918,6 +918,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
struct grant *persistent_gnt;
struct grant *n;
int i, j, segs;
+ struct page *page;
/* Prevent new requests being issued until we fix things up. */
spin_lock_irq(&info->io_lock);
@@ -932,13 +933,16 @@ static void blkif_free(struct blkfront_info *info, int suspend)
list_for_each_entry_safe(persistent_gnt, n,
&info->grants, node) {
list_del(&persistent_gnt->node);
+ page = pfn_to_page(persistent_gnt->pfn);
if (persistent_gnt->gref != GRANT_INVALID_REF) {
+ get_page(page);
gnttab_end_foreign_access(persistent_gnt->gref,
- 0, 0UL);
+ 0,
+ (unsigned long)page_address(page));
info->persistent_gnts_c--;
}
if (info->feature_persistent)
- __free_page(pfn_to_page(persistent_gnt->pfn));
+ __free_page(page);
kfree(persistent_gnt);
}
}
@@ -971,9 +975,12 @@ static void blkif_free(struct blkfront_info *info, int suspend)
info->shadow[i].req.u.rw.nr_segments;
for (j = 0; j < segs; j++) {
persistent_gnt = info->shadow[i].grants_used[j];
- gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
+ page = pfn_to_page(persistent_gnt->pfn);
+ get_page(page);
+ gnttab_end_foreign_access(persistent_gnt->gref, 0,
+ (unsigned long)page_address(page));
if (info->feature_persistent)
- __free_page(pfn_to_page(persistent_gnt->pfn));
+ __free_page(page);
kfree(persistent_gnt);
}
@@ -986,8 +993,11 @@ static void blkif_free(struct blkfront_info *info, int suspend)
for (j = 0; j < INDIRECT_GREFS(segs); j++) {
persistent_gnt = info->shadow[i].indirect_grants[j];
- gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
- __free_page(pfn_to_page(persistent_gnt->pfn));
+ page = pfn_to_page(persistent_gnt->pfn);
+ get_page(page);
+ gnttab_end_foreign_access(persistent_gnt->gref, 0,
+ (unsigned long)page_address(page));
+ __free_page(page);
kfree(persistent_gnt);
}
@@ -1009,8 +1019,11 @@ free_shadow:
/* Free resources associated with old device channel. */
if (info->ring_ref != GRANT_INVALID_REF) {
+ page = virt_to_page(info->ring.sring);
+ get_page(page);
gnttab_end_foreign_access(info->ring_ref, 0,
(unsigned long)info->ring.sring);
+ __free_page(page);
info->ring_ref = GRANT_INVALID_REF;
info->ring.sring = NULL;
}
diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c
index c8ff4df..3e83585 100644
--- a/drivers/char/tpm/xen-tpmfront.c
+++ b/drivers/char/tpm/xen-tpmfront.c
@@ -312,9 +312,14 @@ static void ring_free(struct tpm_private *priv)
if (!priv)
return;
- if (priv->ring_ref)
+ if (priv->ring_ref) {
+ struct page *page;
+ page = virt_to_page(priv->shr);
+ get_page(page);
gnttab_end_foreign_access(priv->ring_ref, 0,
(unsigned long)priv->shr);
+ __free_page(page);
+ }
else
free_page((unsigned long)priv->shr);
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index d7bee8a..a22adaa 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -117,6 +117,7 @@ struct netfront_info {
} tx_skbs[NET_TX_RING_SIZE];
grant_ref_t gref_tx_head;
grant_ref_t grant_tx_ref[NET_TX_RING_SIZE];
+ struct page *grant_tx_page[NET_TX_RING_SIZE];
unsigned tx_skb_freelist;
spinlock_t rx_lock ____cacheline_aligned_in_smp;
@@ -396,6 +397,7 @@ static void xennet_tx_buf_gc(struct net_device *dev)
gnttab_release_grant_reference(
&np->gref_tx_head, np->grant_tx_ref[id]);
np->grant_tx_ref[id] = GRANT_INVALID_REF;
+ np->grant_tx_page[id] = NULL;
add_id_to_freelist(&np->tx_skb_freelist, np->tx_skbs, id);
dev_kfree_skb_irq(skb);
}
@@ -452,6 +454,7 @@ static void xennet_make_frags(struct sk_buff *skb, struct net_device *dev,
gnttab_grant_foreign_access_ref(ref, np->xbdev->otherend_id,
mfn, GNTMAP_readonly);
+ np->grant_tx_page[id] = virt_to_page(data);
tx->gref = np->grant_tx_ref[id] = ref;
tx->offset = offset;
tx->size = len;
@@ -497,6 +500,7 @@ static void xennet_make_frags(struct sk_buff *skb, struct net_device *dev,
np->xbdev->otherend_id,
mfn, GNTMAP_readonly);
+ np->grant_tx_page[id] = page;
tx->gref = np->grant_tx_ref[id] = ref;
tx->offset = offset;
tx->size = bytes;
@@ -596,6 +600,7 @@ static int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev)
mfn = virt_to_mfn(data);
gnttab_grant_foreign_access_ref(
ref, np->xbdev->otherend_id, mfn, GNTMAP_readonly);
+ np->grant_tx_page[id] = virt_to_page(data);
tx->gref = np->grant_tx_ref[id] = ref;
tx->offset = offset;
tx->size = len;
@@ -1085,10 +1090,11 @@ static void xennet_release_tx_bufs(struct netfront_info *np)
continue;
skb = np->tx_skbs[i].skb;
- gnttab_end_foreign_access_ref(np->grant_tx_ref[i],
- GNTMAP_readonly);
- gnttab_release_grant_reference(&np->gref_tx_head,
- np->grant_tx_ref[i]);
+ get_page(np->grant_tx_page[i]);
+ gnttab_end_foreign_access(np->grant_tx_ref[i],
+ GNTMAP_readonly,
+ (unsigned long)page_address(np->grant_tx_page[i]));
+ np->grant_tx_page[i] = NULL;
np->grant_tx_ref[i] = GRANT_INVALID_REF;
add_id_to_freelist(&np->tx_skb_freelist, np->tx_skbs, i);
dev_kfree_skb_irq(skb);
@@ -1097,78 +1103,35 @@ static void xennet_release_tx_bufs(struct netfront_info *np)
static void xennet_release_rx_bufs(struct netfront_info *np)
{
- struct mmu_update *mmu = np->rx_mmu;
- struct multicall_entry *mcl = np->rx_mcl;
- struct sk_buff_head free_list;
- struct sk_buff *skb;
- unsigned long mfn;
- int xfer = 0, noxfer = 0, unused = 0;
int id, ref;
- dev_warn(&np->netdev->dev, "%s: fix me for copying receiver.\n",
- __func__);
- return;
-
- skb_queue_head_init(&free_list);
-
spin_lock_bh(&np->rx_lock);
for (id = 0; id < NET_RX_RING_SIZE; id++) {
- ref = np->grant_rx_ref[id];
- if (ref == GRANT_INVALID_REF) {
- unused++;
- continue;
- }
+ struct sk_buff *skb;
+ struct page *page;
skb = np->rx_skbs[id];
- mfn = gnttab_end_foreign_transfer_ref(ref);
- gnttab_release_grant_reference(&np->gref_rx_head, ref);
- np->grant_rx_ref[id] = GRANT_INVALID_REF;
-
- if (0 == mfn) {
- skb_shinfo(skb)->nr_frags = 0;
- dev_kfree_skb(skb);
- noxfer++;
+ if (!skb)
continue;
- }
-
- if (!xen_feature(XENFEAT_auto_translated_physmap)) {
- /* Remap the page. */
- const struct page *page =
- skb_frag_page(&skb_shinfo(skb)->frags[0]);
- unsigned long pfn = page_to_pfn(page);
- void *vaddr = page_address(page);
- MULTI_update_va_mapping(mcl, (unsigned long)vaddr,
- mfn_pte(mfn, PAGE_KERNEL),
- 0);
- mcl++;
- mmu->ptr = ((u64)mfn << PAGE_SHIFT)
- | MMU_MACHPHYS_UPDATE;
- mmu->val = pfn;
- mmu++;
+ ref = np->grant_rx_ref[id];
+ if (ref == GRANT_INVALID_REF)
+ continue;
- set_phys_to_machine(pfn, mfn);
- }
- __skb_queue_tail(&free_list, skb);
- xfer++;
- }
+ page = skb_frag_page(&skb_shinfo(skb)->frags[0]);
- dev_info(&np->netdev->dev, "%s: %d xfer, %d noxfer, %d unused\n",
- __func__, xfer, noxfer, unused);
+ /* gnttab_end_foreign_access() needs a page ref until
+ * foreign access is ended (which may be deferred).
+ */
+ get_page(page);
+ gnttab_end_foreign_access(ref, 0,
+ (unsigned long)page_address(page));
+ np->grant_rx_ref[id] = GRANT_INVALID_REF;
- if (xfer) {
- if (!xen_feature(XENFEAT_auto_translated_physmap)) {
- /* Do all the remapping work and M2P updates. */
- MULTI_mmu_update(mcl, np->rx_mmu, mmu - np->rx_mmu,
- NULL, DOMID_SELF);
- mcl++;
- HYPERVISOR_multicall(np->rx_mcl, mcl - np->rx_mcl);
- }
+ kfree_skb(skb);
}
- __skb_queue_purge(&free_list);
-
spin_unlock_bh(&np->rx_lock);
}
@@ -1339,6 +1302,7 @@ static struct net_device *xennet_create_dev(struct xenbus_device *dev)
for (i = 0; i < NET_RX_RING_SIZE; i++) {
np->rx_skbs[i] = NULL;
np->grant_rx_ref[i] = GRANT_INVALID_REF;
+ np->grant_tx_page[i] = NULL;
}
/* A grant for every tx ring slot */
@@ -1439,8 +1403,11 @@ static int netfront_probe(struct xenbus_device *dev,
static void xennet_end_access(int ref, void *page)
{
/* This frees the page as a side-effect */
- if (ref != GRANT_INVALID_REF)
+ if (ref != GRANT_INVALID_REF) {
+ get_page(virt_to_page(page));
gnttab_end_foreign_access(ref, 0, (unsigned long)page);
+ free_page((unsigned long)page);
+ }
}
static void xennet_disconnect_backend(struct netfront_info *info)
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index f7197a7..ed732e5 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -756,9 +756,14 @@ static void free_pdev(struct pcifront_device *pdev)
if (pdev->evtchn != INVALID_EVTCHN)
xenbus_free_evtchn(pdev->xdev, pdev->evtchn);
- if (pdev->gnt_ref != INVALID_GRANT_REF)
+ if (pdev->gnt_ref != INVALID_GRANT_REF) {
+ struct page *page;
+ page = virt_to_page(pdev->sh_info);
+ get_page(page);
gnttab_end_foreign_access(pdev->gnt_ref, 0 /* r/w page */,
(unsigned long)pdev->sh_info);
+ __free_page(page);
+ }
else
free_page((unsigned long)pdev->sh_info);
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index aa846a4..b64a32e 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -504,7 +504,7 @@ static void gnttab_handle_deferred(unsigned long unused)
if (entry->page) {
pr_debug("freeing g.e. %#x (pfn %#lx)\n",
entry->ref, page_to_pfn(entry->page));
- __free_page(entry->page);
+ put_page(entry->page);
} else
pr_info("freeing g.e. %#x\n", entry->ref);
kfree(entry);
@@ -560,7 +560,7 @@ void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
if (gnttab_end_foreign_access_ref(ref, readonly)) {
put_free_entry(ref);
if (page != 0)
- free_page(page);
+ put_page(virt_to_page(page));
} else
gnttab_add_deferred(ref, readonly,
page ? virt_to_page(page) : NULL);
--
1.7.3.4
^ permalink raw reply related
* [PATCH net-next 1/3] sch_netem: return errcode before setting params
From: Yang Yingliang @ 2014-01-23 9:31 UTC (permalink / raw)
To: netdev; +Cc: stephen, davem
In-Reply-To: <1390469499-31952-1-git-send-email-yangyingliang@huawei.com>
get_dist_table() and get_loss_clg() may be failed. These
two functions should be called after setting the members
of qdisc_priv(sch), or it will break the old settings while
either of them is failed.
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
net/sched/sch_netem.c | 38 ++++++++++++++++++++++++++++----------
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index a2bfc37..c90de21 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -819,6 +819,8 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
struct netem_sched_data *q = qdisc_priv(sch);
struct nlattr *tb[TCA_NETEM_MAX + 1];
struct tc_netem_qopt *qopt;
+ struct clgstate old_clg;
+ int old_loss_model = CLG_RANDOM;
int ret;
if (opt == NULL)
@@ -829,6 +831,32 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
if (ret < 0)
return ret;
+ /* backup q->clg and q->loss_model */
+ old_clg = q->clg;
+ old_loss_model = q->loss_model;
+
+ if (tb[TCA_NETEM_LOSS]) {
+ ret = get_loss_clg(sch, tb[TCA_NETEM_LOSS]);
+ if (ret) {
+ q->loss_model = old_loss_model;
+ return ret;
+ }
+ } else {
+ q->loss_model = CLG_RANDOM;
+ }
+
+ if (tb[TCA_NETEM_DELAY_DIST]) {
+ ret = get_dist_table(sch, tb[TCA_NETEM_DELAY_DIST]);
+ if (ret) {
+ /* recover clg and loss_model, in case of
+ * q->clg and q->loss_model were modified
+ * in get_loss_clg() */
+ q->clg = old_clg;
+ q->loss_model = old_loss_model;
+ return ret;
+ }
+ }
+
sch->limit = qopt->limit;
q->latency = qopt->latency;
@@ -848,12 +876,6 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
if (tb[TCA_NETEM_CORR])
get_correlation(sch, tb[TCA_NETEM_CORR]);
- if (tb[TCA_NETEM_DELAY_DIST]) {
- ret = get_dist_table(sch, tb[TCA_NETEM_DELAY_DIST]);
- if (ret)
- return ret;
- }
-
if (tb[TCA_NETEM_REORDER])
get_reorder(sch, tb[TCA_NETEM_REORDER]);
@@ -870,10 +892,6 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
if (tb[TCA_NETEM_ECN])
q->ecn = nla_get_u32(tb[TCA_NETEM_ECN]);
- q->loss_model = CLG_RANDOM;
- if (tb[TCA_NETEM_LOSS])
- ret = get_loss_clg(sch, tb[TCA_NETEM_LOSS]);
-
return ret;
}
--
1.8.0
^ permalink raw reply related
* [PATCH net-next 3/3] sch_netem: replace magic numbers with enumerate in GE model
From: Yang Yingliang @ 2014-01-23 9:31 UTC (permalink / raw)
To: netdev; +Cc: stephen, davem
In-Reply-To: <1390469499-31952-1-git-send-email-yangyingliang@huawei.com>
Replace some magic numbers which describe states of GE model
loss generator with enumerate.
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
net/sched/sch_netem.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index 7e15f08..2479709 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -117,6 +117,11 @@ struct netem_sched_data {
LOST_IN_BURST_PERIOD,
} _4_state_model;
+ enum {
+ GOOD_STATE = 1,
+ BAD_STATE,
+ } GE_state_model;
+
/* Correlated Loss Generation models */
struct clgstate {
/* state of the Markov chain */
@@ -272,15 +277,15 @@ static bool loss_gilb_ell(struct netem_sched_data *q)
struct clgstate *clg = &q->clg;
switch (clg->state) {
- case 1:
+ case GOOD_STATE:
if (prandom_u32() < clg->a1)
- clg->state = 2;
+ clg->state = BAD_STATE;
if (prandom_u32() < clg->a4)
return true;
break;
- case 2:
+ case BAD_STATE:
if (prandom_u32() < clg->a2)
- clg->state = 1;
+ clg->state = GOOD_STATE;
if (prandom_u32() > clg->a3)
return true;
}
--
1.8.0
^ permalink raw reply related
* [PATCH net-next 0/3] sch_netem: some improvements
From: Yang Yingliang @ 2014-01-23 9:31 UTC (permalink / raw)
To: netdev; +Cc: stephen, davem
This patchset do three improvements to sch_netem.
patch 1/3: To avoid breaking old settings when we change failed,
do return errcode before doing setup.
pacth 2/3: Replace some functions' parameters, these functions
only need struct netem_sched_data *q.
patch 3/3: Replace magic numbers with enumerate for better readability.
Yang Yingliang (3):
sch_netem: return errcode before setting params
sch_netem: change some func's param from "struct Qdisc *" to "struct
netem_sched_data *"
sch_netem: replace magic numbers with enumerate in GE model
net/sched/sch_netem.c | 74 ++++++++++++++++++++++++++++++++-------------------
1 file changed, 46 insertions(+), 28 deletions(-)
--
1.8.0
^ permalink raw reply
* [PATCH V1 net-next] net/vxlan: Share RX skb de-marking and checksum checks with ovs
From: Or Gerlitz @ 2014-01-23 9:28 UTC (permalink / raw)
To: davem; +Cc: netdev, Or Gerlitz, Joseph Gasparakis, Pravin B Shelar
Make sure the practice set by commit 0afb166 "vxlan: Add capability
of Rx checksum offload for inner packet" is applied when the skb
goes through the portion of the RX code which is shared between
vxlan netdevices and ovs vxlan port instances.
Cc: Joseph Gasparakis <joseph.gasparakis@intel.com>
Cc: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
Dave - I marked it net-next so it goes into 3.14 since "net" isn't
open yet... from there it should obviously land in -stable of kernels >= 3.12
drivers/net/vxlan.c | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index e1bc925..026a313 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1159,6 +1159,16 @@ static int vxlan_udp_encap_recv(struct sock *sk, struct sk_buff *skb)
if (!vs)
goto drop;
+ /* If the NIC driver gave us an encapsulated packet
+ * with the encapsulation mark, the device checksummed it
+ * for us. Otherwise force the upper layers to verify it.
+ */
+ if ((skb->ip_summed != CHECKSUM_UNNECESSARY && skb->ip_summed != CHECKSUM_PARTIAL) ||
+ !skb->encapsulation)
+ skb->ip_summed = CHECKSUM_NONE;
+
+ skb->encapsulation = 0;
+
vs->rcv(vs, skb, vxh->vx_vni);
return 0;
@@ -1217,17 +1227,6 @@ static void vxlan_rcv(struct vxlan_sock *vs,
skb_reset_network_header(skb);
- /* If the NIC driver gave us an encapsulated packet with
- * CHECKSUM_UNNECESSARY and Rx checksum feature is enabled,
- * leave the CHECKSUM_UNNECESSARY, the device checksummed it
- * for us. Otherwise force the upper layers to verify it.
- */
- if ((skb->ip_summed != CHECKSUM_UNNECESSARY && skb->ip_summed != CHECKSUM_PARTIAL) ||
- !skb->encapsulation || !(vxlan->dev->features & NETIF_F_RXCSUM))
- skb->ip_summed = CHECKSUM_NONE;
-
- skb->encapsulation = 0;
-
if (oip6)
err = IP6_ECN_decapsulate(oip6, skb);
if (oip)
--
1.7.1
^ permalink raw reply related
* [PATCH stable 3.7+] fib_frontend: fix possible NULL pointer dereference
From: Oliver Hartkopp @ 2014-01-23 9:19 UTC (permalink / raw)
To: Eric Dumazet, David Miller, Linux Netdev List
The two commits 0115e8e30d (net: remove delay at device dismantle) and
748e2d9396a (net: reinstate rtnl in call_netdevice_notifiers()) silently
removed a NULL pointer check for in_dev since Linux 3.7.
This patch re-introduces this check as it causes crashing the kernel when
setting small mtu values on non-ip capable netdevices.
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
---
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index d846304..c7539e2 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -1047,6 +1047,8 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo
}
in_dev = __in_dev_get_rtnl(dev);
+ if (!in_dev)
+ return NOTIFY_DONE;
switch (event) {
case NETDEV_UP:
^ permalink raw reply related
* Re: How to identify different ip tunnels
From: zhuyj @ 2014-01-23 8:54 UTC (permalink / raw)
To: David S. Miller, netdev, kuznet, jmorris, yoshfuji, kaber,
linux-kernel, zhuyj
In-Reply-To: <52E0C5B7.7040908@gmail.com>
The version of the kernel is 3.4.43.
Any reply is appreciated.
Best Regards!
Zhu Yanjun
On 01/23/2014 03:33 PM, zhuyj wrote:
> Hi, Maintainers
>
> We want to identify different ip tunnels.
>
> For example, we use “ip tunnel add xxx” command in linux to create an
> ipv4/6 tunnel interface,then,we can receive a RTM_NEWLINK message from
> linux for the new tunnel interface.
> We will parse the struct ifinfomsg message and get the ifi->ifi_type
> attribute. We need to do somethings depend on the tunnel type here.
> I checked the linux source code and list all the tunnel types here:
>
> #define ARPHRD_TUNNEL 768 /* IPIP tunnel */
> #define ARPHRD_TUNNEL6 769 /* IP6IP6 tunnel */
> #define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */
> #define ARPHRD_IPGRE 778 /* GRE over IP */
>
> It means that the linux will report the new link for any ipv4/6 tunnel
> interface with type only within these four types. However, We need
> more tunnel types for ipv4/6 tunnel.
> For example, 4IN4/6IN4/6TO4/GRE/ISATAP for ipv4 tunnel and
> 4IN6/6IN6/IPIN6 for ipv6 tunnel.
>
> Here are the result that we have got:
>
> Actual Tunnel type ifi->ifi_type
> 4IN4 768
> GRE4 778
> 6IN4/6TO4/ISATAP 776
> 4IN6/6IN6/IPIN6 769
>
> So, we can NOT distinguish the actual tunnel type via ifi_type
> attribute except the GRE4 and 4IN4 tunnel. However we need the actual
> type. That is our question.
>
> BTW, for the 6IN4 and 6TO4 tunnel, Can we distinguish them before the
> interface ip address configured? Because we need to do different
> things for them when we received the new link message and the tunnel
> has NOT any ip address in this time.
>
> Best Regards!
> Zhu Yanjun
>
^ permalink raw reply
* [patch] tulip: cleanup by using ARRAY_SIZE()
From: Dan Carpenter @ 2014-01-23 8:26 UTC (permalink / raw)
To: Grant Grundler; +Cc: netdev, David S. Miller, kernel-janitors
In this situation then ARRAY_SIZE() and sizeof() are the same, but we're
really dealing with array indexes and not byte offsets so ARRAY_SIZE()
is cleaner.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/drivers/net/ethernet/dec/tulip/media.c b/drivers/net/ethernet/dec/tulip/media.c
index 0d0ba725341a..dcf21a36a9cf 100644
--- a/drivers/net/ethernet/dec/tulip/media.c
+++ b/drivers/net/ethernet/dec/tulip/media.c
@@ -457,7 +457,7 @@ void tulip_find_mii(struct net_device *dev, int board_idx)
/* Find the connected MII xcvrs.
Doing this in open() would allow detecting external xcvrs later,
but takes much time. */
- for (phyn = 1; phyn <= 32 && phy_idx < sizeof (tp->phys); phyn++) {
+ for (phyn = 1; phyn <= 32 && phy_idx < ARRAY_SIZE(tp->phys); phyn++) {
int phy = phyn & 0x1f;
int mii_status = tulip_mdio_read (dev, phy, MII_BMSR);
if ((mii_status & 0x8301) == 0x8001 ||
^ permalink raw reply related
* Re: r8169 won't transmit with 3.12
From: Craig Small @ 2014-01-23 7:57 UTC (permalink / raw)
To: Francois Romieu; +Cc: Realtek linux nic maintainers, netdev
In-Reply-To: <20140122233135.GA800@electric-eye.fr.zoreil.com>
[-- Attachment #1: Type: text/plain, Size: 1924 bytes --]
On Thu, Jan 23, 2014 at 12:31:35AM +0100, Francois Romieu wrote:
> Should I understand that the LOM fails on Linux with a naked motherboard ?
Not sure what you mean by LOM. There is no Lights Out Module. I have
now removed the two ethernet cards and enabled the motherboard NIC.
I'll leave it like this. There is one ethernet card that uses a
8139too module.
The relevant interface is:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Gigabyte Technology Co., Ltd Motherboard
Flags: bus master, fast devsel, latency 0, IRQ 72
I/O ports at d000 [size=256]
Memory at fdd00000 (64-bit, non-prefetchable) [size=4K]
Memory at d2100000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Kernel driver in use: r8169
eth5 is the working r8139
eth6 is the r8169 that we're interested in.
> Please check if runtime resume is disabled (/sys/bus/pci/devices/.../power/control
$ cat /sys/bus/pci/devices/0000\:03\:00.0/power/control
on
> Please don't switch between the r8168 and the r8169 modules at runtime.
> I saw it in your dmesg and I won't claim it's supported.
That's fine. I was doing it to see if it would work. I'll stay with the r8169
for now. I got a watchdog notice now, not sure if that is better or worse.
- Craig
--
Craig Small (@smallsees) http://enc.com.au/ csmall at : enc.com.au
Debian GNU/Linux http://www.debian.org/ csmall at : debian.org
GPG fingerprint: 5D2F B320 B825 D939 04D2 0519 3938 F96B DF50 FEA5
[-- Attachment #2: r8169dmesg2.txt --]
[-- Type: text/plain, Size: 60668 bytes --]
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.12-1-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.2 (Debian 4.8.2-10) ) #1 SMP Debian 3.12.6-2 (2013-12-29)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.12-1-amd64 root=UUID=a273d5f8-984b-4ce4-87dd-d6885f488b80 ro quiet
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009e7ff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009e800-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000be866fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000be867000-0x00000000bea3efff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000bea3f000-0x00000000bee33fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bee34000-0x00000000bf15efff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000bf15f000-0x00000000bf15ffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bf160000-0x00000000bf365fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bf366000-0x00000000bf7fffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec20000-0x00000000fec20fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed61000-0x00000000fed70fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fef00000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100001000-0x000000043effffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.7 present.
[ 0.000000] DMI: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-D3P, BIOS F3 05/24/2013
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] No AGP bridge found
[ 0.000000] e820: last_pfn = 0x43f000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF write-through
[ 0.000000] C0000-CEFFF write-protect
[ 0.000000] CF000-EBFFF uncachable
[ 0.000000] EC000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 000000000000 mask FFFF80000000 write-back
[ 0.000000] 1 base 000080000000 mask FFFFC0000000 write-back
[ 0.000000] 2 base 0000BF800000 mask FFFFFF800000 uncachable
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] TOM2: 000000043f000000 aka 17392M
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] e820: update [mem 0xbf800000-0xffffffff] usable ==> reserved
[ 0.000000] e820: last_pfn = 0xbf800 max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [mem 0x000fd820-0x000fd82f] mapped at [ffff8800000fd820]
[ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
[ 0.000000] Using GB pages for direct mapping
[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[ 0.000000] [mem 0x00000000-0x000fffff] page 4k
[ 0.000000] BRK [0x01a91000, 0x01a91fff] PGTABLE
[ 0.000000] BRK [0x01a92000, 0x01a92fff] PGTABLE
[ 0.000000] BRK [0x01a93000, 0x01a93fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x43ee00000-0x43effffff]
[ 0.000000] [mem 0x43ee00000-0x43effffff] page 2M
[ 0.000000] BRK [0x01a94000, 0x01a94fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x43c000000-0x43edfffff]
[ 0.000000] [mem 0x43c000000-0x43edfffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x400000000-0x43bffffff]
[ 0.000000] [mem 0x400000000-0x43bffffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x00100000-0xbe866fff]
[ 0.000000] [mem 0x00100000-0x001fffff] page 4k
[ 0.000000] [mem 0x00200000-0x3fffffff] page 2M
[ 0.000000] [mem 0x40000000-0x7fffffff] page 1G
[ 0.000000] [mem 0x80000000-0xbe7fffff] page 2M
[ 0.000000] [mem 0xbe800000-0xbe866fff] page 4k
[ 0.000000] init_memory_mapping: [mem 0xbf15f000-0xbf15ffff]
[ 0.000000] [mem 0xbf15f000-0xbf15ffff] page 4k
[ 0.000000] BRK [0x01a95000, 0x01a95fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0xbf366000-0xbf7fffff]
[ 0.000000] [mem 0xbf366000-0xbf3fffff] page 4k
[ 0.000000] [mem 0xbf400000-0xbf7fffff] page 2M
[ 0.000000] BRK [0x01a96000, 0x01a96fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x100001000-0x3ffffffff]
[ 0.000000] [mem 0x100001000-0x1001fffff] page 4k
[ 0.000000] [mem 0x100200000-0x13fffffff] page 2M
[ 0.000000] [mem 0x140000000-0x3ffffffff] page 1G
[ 0.000000] RAMDISK: [mem 0x363bc000-0x371d5fff]
[ 0.000000] ACPI: RSDP 00000000000f0490 00024 (v02 ALASKA)
[ 0.000000] ACPI: XSDT 00000000bee19068 00054 (v01 ALASKA A M I 01072009 AMI 00010013)
[ 0.000000] ACPI: FACP 00000000bee1eba0 000F4 (v04 ALASKA A M I 01072009 AMI 00010013)
[ 0.000000] ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has zero address or length: 0x0000000000000000/0x1 (20130725/tbfadt-603)
[ 0.000000] ACPI: DSDT 00000000bee19158 05A42 (v02 ALASKA A M I 00000000 INTL 20051117)
[ 0.000000] ACPI: FACS 00000000bee2ef80 00040
[ 0.000000] ACPI: APIC 00000000bee1ec98 0008E (v03 ALASKA A M I 01072009 AMI 00010013)
[ 0.000000] ACPI: FPDT 00000000bee1ed28 00044 (v01 ALASKA A M I 01072009 AMI 00010013)
[ 0.000000] ACPI: MCFG 00000000bee1ed70 0003C (v01 ALASKA A M I 01072009 MSFT 00010013)
[ 0.000000] ACPI: HPET 00000000bee1edb0 00038 (v01 ALASKA A M I 01072009 AMI 00000005)
[ 0.000000] ACPI: SSDT 00000000bee1ede8 01158 (v01 AMD POWERNOW 00000001 AMD 00000001)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] No NUMA configuration found
[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000043effffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000-0x43effffff]
[ 0.000000] NODE_DATA [mem 0x43eff8000-0x43effbfff]
[ 0.000000] [ffffea0000000000-ffffea000edfffff] PMD -> [ffff88042e600000-ffff88043c5fffff] on node 0
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00001000-0x00ffffff]
[ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
[ 0.000000] Normal [mem 0x100000000-0x43effffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00001000-0x0009dfff]
[ 0.000000] node 0: [mem 0x00100000-0xbe866fff]
[ 0.000000] node 0: [mem 0xbf15f000-0xbf15ffff]
[ 0.000000] node 0: [mem 0xbf366000-0xbf7fffff]
[ 0.000000] node 0: [mem 0x100001000-0x43effffff]
[ 0.000000] On node 0 totalpages: 4185246
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 21 pages reserved
[ 0.000000] DMA zone: 3997 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 10630 pages used for memmap
[ 0.000000] DMA32 zone: 777474 pages, LIFO batch:31
[ 0.000000] Normal zone: 46536 pages used for memmap
[ 0.000000] Normal zone: 3403775 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x808
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x07] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 7, version 33, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: IOAPIC (id[0x08] address[0xfec20000] gsi_base[24])
[ 0.000000] IOAPIC[1]: apic_id 8, version 33, address 0xfec20000, GSI 24-55
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x43538210 base: 0xfed00000
[ 0.000000] smpboot: Allowing 6 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 72
[ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009efff]
[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xbe867000-0xbea3efff]
[ 0.000000] PM: Registered nosave memory: [mem 0xbea3f000-0xbee33fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xbee34000-0xbf15efff]
[ 0.000000] PM: Registered nosave memory: [mem 0xbf160000-0xbf365fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xbf800000-0xf7ffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xf8000000-0xfbffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfc000000-0xfebfffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec01000-0xfec0ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec10000-0xfec10fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec11000-0xfec1ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec20000-0xfec20fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec21000-0xfecfffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed00000-0xfed00fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed01000-0xfed60fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed61000-0xfed70fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed71000-0xfed7ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed80000-0xfed8ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed90000-0xfeefffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfef00000-0xffffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x100000000-0x100000fff]
[ 0.000000] e820: [mem 0xbf800000-0xf7ffffff] available for PCI devices
[ 0.000000] Booting paravirtualized kernel on bare hardware
[ 0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:6 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 28 pages/cpu @ffff88043ec00000 s85888 r8192 d20608 u262144
[ 0.000000] pcpu-alloc: s85888 r8192 d20608 u262144 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 - -
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 4128003
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.12-1-amd64 root=UUID=a273d5f8-984b-4ce4-87dd-d6885f488b80 ro quiet
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Node 0: aperture @ f8000000 size 64 MB
[ 0.000000] Memory: 16419228K/16740984K available (4726K kernel code, 679K rwdata, 1596K rodata, 972K init, 944K bss, 321756K reserved)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=6.
[ 0.000000] NR_IRQS:33024 nr_irqs:1272 16
[ 0.000000] spurious 8259A interrupt: IRQ7.
[ 0.000000] Console: colour VGA+ 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] hpet clockevent registered
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.004000] tsc: Detected 3516.208 MHz processor
[ 0.000003] Calibrating delay loop (skipped), value calculated using timer frequency.. 7032.41 BogoMIPS (lpj=14064832)
[ 0.000005] pid_max: default: 32768 minimum: 301
[ 0.000028] Security Framework initialized
[ 0.000032] AppArmor: AppArmor disabled by boot time parameter
[ 0.000033] Yama: disabled by default; enable with sysctl kernel.yama.*
[ 0.000936] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[ 0.005763] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[ 0.007979] Mount-cache hash table entries: 256
[ 0.008135] Initializing cgroup subsys memory
[ 0.008150] Initializing cgroup subsys devices
[ 0.008151] Initializing cgroup subsys freezer
[ 0.008153] Initializing cgroup subsys net_cls
[ 0.008154] Initializing cgroup subsys blkio
[ 0.008156] Initializing cgroup subsys perf_event
[ 0.008175] tseg: 00bf800000
[ 0.008176] CPU: Physical Processor ID: 0
[ 0.008177] CPU: Processor Core ID: 0
[ 0.008179] mce: CPU supports 7 MCE banks
[ 0.008185] LVT offset 1 assigned for vector 0xf9
[ 0.008190] Last level iTLB entries: 4KB 512, 2MB 1024, 4MB 512
[ 0.008190] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 512
[ 0.008190] tlb_flushall_shift: 5
[ 0.008255] Freeing SMP alternatives memory: 20K (ffffffff8199e000 - ffffffff819a3000)
[ 0.008909] ACPI: Core revision 20130725
[ 0.010692] ACPI: All ACPI Tables successfully acquired
[ 0.011266] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.050920] smpboot: CPU0: AMD FX(tm)-6300 Six-Core Processor (fam: 15, model: 02, stepping: 00)
[ 0.155558] Performance Events: Fam15h core perfctr, AMD PMU driver.
[ 0.155562] ... version: 0
[ 0.155563] ... bit width: 48
[ 0.155564] ... generic registers: 6
[ 0.155565] ... value mask: 0000ffffffffffff
[ 0.155566] ... max period: 00007fffffffffff
[ 0.155567] ... fixed-purpose events: 0
[ 0.155568] ... event mask: 000000000000003f
[ 0.155769] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[ 0.155852] smpboot: Booting Node 0, Processors # 1 # 2 # 3 # 4 # 5 OK
[ 0.222129] Brought up 6 CPUs
[ 0.222132] smpboot: Total of 6 processors activated (42194.49 BogoMIPS)
[ 0.229791] devtmpfs: initialized
[ 0.233032] PM: Registering ACPI NVS region [mem 0xbea3f000-0xbee33fff] (4149248 bytes)
[ 0.233103] PM: Registering ACPI NVS region [mem 0xbf160000-0xbf365fff] (2121728 bytes)
[ 0.233298] NET: Registered protocol family 16
[ 0.233372] cpuidle: using governor ladder
[ 0.233373] cpuidle: using governor menu
[ 0.233406] ACPI: bus type PCI registered
[ 0.233408] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 0.233450] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[ 0.233452] PCI: not using MMCONFIG
[ 0.233453] PCI: Using configuration type 1 for base access
[ 0.233454] PCI: Using configuration type 1 for extended access
[ 0.233712] mtrr: your CPUs had inconsistent variable MTRR settings
[ 0.233713] mtrr: probably your BIOS does not setup all CPUs.
[ 0.233713] mtrr: corrected configuration.
[ 0.234147] bio: create slab <bio-0> at 0
[ 0.234289] ACPI: Added _OSI(Module Device)
[ 0.234290] ACPI: Added _OSI(Processor Device)
[ 0.234291] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.234292] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.234779] ACPI: EC: Look up EC in DSDT
[ 0.235592] ACPI: Executed 3 blocks of module-level executable AML code
[ 0.243903] ACPI: Interpreter enabled
[ 0.243910] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130725/hwxface-571)
[ 0.243914] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130725/hwxface-571)
[ 0.243925] ACPI: (supports S0 S3 S4 S5)
[ 0.243926] ACPI: Using IOAPIC for interrupt routing
[ 0.244039] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[ 0.244072] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
[ 0.256483] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 0.256559] ACPI: No dock devices found.
[ 0.269107] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[ 0.269112] acpi PNP0A08:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[ 0.269113] acpi PNP0A08:00: Unable to request _OSC control (_OSC support mask: 0x08)
[ 0.269344] ACPI: \_SB_.PCI0.AMDN: can't evaluate _ADR (0x5)
[ 0.269412] ACPI: \_SB_.PCI0.UMEM: can't evaluate _ADR (0x5)
[ 0.269460] ACPI: \_SB_.PCI0.ITPM: can't evaluate _ADR (0x5)
[ 0.269462] PCI host bridge to bus 0000:00
[ 0.269464] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.269465] pci_bus 0000:00: root bus resource [io 0x0000-0x03af]
[ 0.269467] pci_bus 0000:00: root bus resource [io 0x03e0-0x0cf7]
[ 0.269468] pci_bus 0000:00: root bus resource [io 0x03b0-0x03df]
[ 0.269470] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff]
[ 0.269471] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[ 0.269472] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff]
[ 0.269474] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xffffffff]
[ 0.269483] pci 0000:00:00.0: [1002:5a14] type 00 class 0x060000
[ 0.269610] pci 0000:00:02.0: [1002:5a16] type 01 class 0x060400
[ 0.269640] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[ 0.269680] pci 0000:00:02.0: System wakeup disabled by ACPI
[ 0.269705] pci 0000:00:04.0: [1002:5a18] type 01 class 0x060400
[ 0.269733] pci 0000:00:04.0: PME# supported from D0 D3hot D3cold
[ 0.269779] pci 0000:00:04.0: System wakeup disabled by ACPI
[ 0.269806] pci 0000:00:09.0: [1002:5a1c] type 01 class 0x060400
[ 0.269834] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[ 0.269873] pci 0000:00:09.0: System wakeup disabled by ACPI
[ 0.269896] pci 0000:00:0a.0: [1002:5a1d] type 01 class 0x060400
[ 0.269924] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[ 0.269964] pci 0000:00:0a.0: System wakeup disabled by ACPI
[ 0.269995] pci 0000:00:11.0: [1002:4391] type 00 class 0x010601
[ 0.270010] pci 0000:00:11.0: reg 0x10: [io 0xf040-0xf047]
[ 0.270017] pci 0000:00:11.0: reg 0x14: [io 0xf030-0xf033]
[ 0.270024] pci 0000:00:11.0: reg 0x18: [io 0xf020-0xf027]
[ 0.270031] pci 0000:00:11.0: reg 0x1c: [io 0xf010-0xf013]
[ 0.270038] pci 0000:00:11.0: reg 0x20: [io 0xf000-0xf00f]
[ 0.270045] pci 0000:00:11.0: reg 0x24: [mem 0xfd10b000-0xfd10b3ff]
[ 0.270135] pci 0000:00:12.0: [1002:4397] type 00 class 0x0c0310
[ 0.270145] pci 0000:00:12.0: reg 0x10: [mem 0xfd10a000-0xfd10afff]
[ 0.270219] pci 0000:00:12.0: System wakeup disabled by ACPI
[ 0.270246] pci 0000:00:12.2: [1002:4396] type 00 class 0x0c0320
[ 0.270260] pci 0000:00:12.2: reg 0x10: [mem 0xfd109000-0xfd1090ff]
[ 0.270319] pci 0000:00:12.2: supports D1 D2
[ 0.270321] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[ 0.270361] pci 0000:00:12.2: System wakeup disabled by ACPI
[ 0.270386] pci 0000:00:13.0: [1002:4397] type 00 class 0x0c0310
[ 0.270396] pci 0000:00:13.0: reg 0x10: [mem 0xfd108000-0xfd108fff]
[ 0.270470] pci 0000:00:13.0: System wakeup disabled by ACPI
[ 0.270497] pci 0000:00:13.2: [1002:4396] type 00 class 0x0c0320
[ 0.270510] pci 0000:00:13.2: reg 0x10: [mem 0xfd107000-0xfd1070ff]
[ 0.270570] pci 0000:00:13.2: supports D1 D2
[ 0.270571] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[ 0.270612] pci 0000:00:13.2: System wakeup disabled by ACPI
[ 0.270638] pci 0000:00:14.0: [1002:4385] type 00 class 0x0c0500
[ 0.270737] pci 0000:00:14.2: [1002:4383] type 00 class 0x040300
[ 0.270753] pci 0000:00:14.2: reg 0x10: [mem 0xfd100000-0xfd103fff 64bit]
[ 0.270828] pci 0000:00:14.2: PME# supported from D0 D3hot D3cold
[ 0.270867] pci 0000:00:14.2: System wakeup disabled by ACPI
[ 0.270888] pci 0000:00:14.3: [1002:439d] type 00 class 0x060100
[ 0.270987] pci 0000:00:14.4: [1002:4384] type 01 class 0x060401
[ 0.271046] pci 0000:00:14.4: System wakeup disabled by ACPI
[ 0.271067] pci 0000:00:14.5: [1002:4399] type 00 class 0x0c0310
[ 0.271077] pci 0000:00:14.5: reg 0x10: [mem 0xfd106000-0xfd106fff]
[ 0.271152] pci 0000:00:14.5: System wakeup disabled by ACPI
[ 0.271176] pci 0000:00:16.0: [1002:4397] type 00 class 0x0c0310
[ 0.271186] pci 0000:00:16.0: reg 0x10: [mem 0xfd105000-0xfd105fff]
[ 0.271261] pci 0000:00:16.0: System wakeup disabled by ACPI
[ 0.271288] pci 0000:00:16.2: [1002:4396] type 00 class 0x0c0320
[ 0.271302] pci 0000:00:16.2: reg 0x10: [mem 0xfd104000-0xfd1040ff]
[ 0.271362] pci 0000:00:16.2: supports D1 D2
[ 0.271363] pci 0000:00:16.2: PME# supported from D0 D1 D2 D3hot
[ 0.271403] pci 0000:00:16.2: System wakeup disabled by ACPI
[ 0.271428] pci 0000:00:18.0: [1022:1600] type 00 class 0x060000
[ 0.271487] pci 0000:00:18.1: [1022:1601] type 00 class 0x060000
[ 0.271541] pci 0000:00:18.2: [1022:1602] type 00 class 0x060000
[ 0.271596] pci 0000:00:18.3: [1022:1603] type 00 class 0x060000
[ 0.271654] pci 0000:00:18.4: [1022:1604] type 00 class 0x060000
[ 0.271709] pci 0000:00:18.5: [1022:1605] type 00 class 0x060000
[ 0.271806] pci 0000:01:00.0: [10de:0a65] type 00 class 0x030000
[ 0.271814] pci 0000:01:00.0: reg 0x10: [mem 0xfc000000-0xfcffffff]
[ 0.271823] pci 0000:01:00.0: reg 0x14: [mem 0xc0000000-0xcfffffff 64bit pref]
[ 0.271831] pci 0000:01:00.0: reg 0x1c: [mem 0xd0000000-0xd1ffffff 64bit pref]
[ 0.271837] pci 0000:01:00.0: reg 0x24: [io 0xe000-0xe07f]
[ 0.271843] pci 0000:01:00.0: reg 0x30: [mem 0xfd000000-0xfd07ffff pref]
[ 0.271910] pci 0000:01:00.1: [10de:0be3] type 00 class 0x040300
[ 0.271918] pci 0000:01:00.1: reg 0x10: [mem 0xfd080000-0xfd083fff]
[ 0.281011] pci 0000:00:02.0: PCI bridge to [bus 01]
[ 0.281015] pci 0000:00:02.0: bridge window [io 0xe000-0xefff]
[ 0.281017] pci 0000:00:02.0: bridge window [mem 0xfc000000-0xfd0fffff]
[ 0.281020] pci 0000:00:02.0: bridge window [mem 0xc0000000-0xd1ffffff 64bit pref]
[ 0.281060] pci 0000:02:00.0: [1106:3483] type 00 class 0x0c0330
[ 0.281072] pci 0000:02:00.0: reg 0x10: [mem 0xfde00000-0xfde00fff 64bit]
[ 0.281122] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.289027] pci 0000:00:04.0: PCI bridge to [bus 02]
[ 0.289031] pci 0000:00:04.0: bridge window [mem 0xfde00000-0xfdefffff]
[ 0.289086] pci 0000:03:00.0: [10ec:8168] type 00 class 0x020000
[ 0.289099] pci 0000:03:00.0: reg 0x10: [io 0xd000-0xd0ff]
[ 0.289117] pci 0000:03:00.0: reg 0x18: [mem 0xfdd00000-0xfdd00fff 64bit]
[ 0.289129] pci 0000:03:00.0: reg 0x20: [mem 0xd2100000-0xd2103fff 64bit pref]
[ 0.289179] pci 0000:03:00.0: supports D1 D2
[ 0.289180] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.289206] pci 0000:03:00.0: System wakeup disabled by ACPI
[ 0.296996] pci 0000:00:09.0: PCI bridge to [bus 03]
[ 0.296999] pci 0000:00:09.0: bridge window [io 0xd000-0xdfff]
[ 0.297002] pci 0000:00:09.0: bridge window [mem 0xfdd00000-0xfddfffff]
[ 0.297005] pci 0000:00:09.0: bridge window [mem 0xd2100000-0xd21fffff 64bit pref]
[ 0.297051] pci 0000:04:00.0: [1131:7164] type 00 class 0x048000
[ 0.297070] pci 0000:04:00.0: reg 0x10: [mem 0xfd800000-0xfdbfffff 64bit]
[ 0.297085] pci 0000:04:00.0: reg 0x18: [mem 0xfd400000-0xfd7fffff 64bit]
[ 0.297161] pci 0000:04:00.0: supports D1 D2
[ 0.297163] pci 0000:04:00.0: PME# supported from D0 D1 D2
[ 0.304990] pci 0000:00:0a.0: PCI bridge to [bus 04]
[ 0.304994] pci 0000:00:0a.0: bridge window [mem 0xfd400000-0xfdbfffff]
[ 0.305036] pci 0000:05:07.0: [1113:1211] type 00 class 0x020000
[ 0.305053] pci 0000:05:07.0: reg 0x10: [io 0xc000-0xc0ff]
[ 0.305063] pci 0000:05:07.0: reg 0x14: [mem 0xfdc10000-0xfdc100ff]
[ 0.305105] pci 0000:05:07.0: reg 0x30: [mem 0xfdc00000-0xfdc0ffff pref]
[ 0.305134] pci 0000:05:07.0: supports D1 D2
[ 0.305135] pci 0000:05:07.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.305190] pci 0000:00:14.4: PCI bridge to [bus 05] (subtractive decode)
[ 0.305193] pci 0000:00:14.4: bridge window [io 0xc000-0xcfff]
[ 0.305196] pci 0000:00:14.4: bridge window [mem 0xfdc00000-0xfdcfffff]
[ 0.305199] pci 0000:00:14.4: bridge window [io 0x0000-0x03af] (subtractive decode)
[ 0.305200] pci 0000:00:14.4: bridge window [io 0x03e0-0x0cf7] (subtractive decode)
[ 0.305202] pci 0000:00:14.4: bridge window [io 0x03b0-0x03df] (subtractive decode)
[ 0.305203] pci 0000:00:14.4: bridge window [io 0x0d00-0xffff] (subtractive decode)
[ 0.305205] pci 0000:00:14.4: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
[ 0.305206] pci 0000:00:14.4: bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
[ 0.305207] pci 0000:00:14.4: bridge window [mem 0xc0000000-0xffffffff] (subtractive decode)
[ 0.305522] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 7 10 11 14 15) *0
[ 0.305573] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 11 14 15) *0
[ 0.305625] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 11 14 15) *0
[ 0.305676] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 14 15) *0
[ 0.305717] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 10 11 14 15) *0
[ 0.305750] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 10 11 14 15) *0
[ 0.305782] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 10 11 14 15) *0
[ 0.305815] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 10 11 14 15) *0
[ 0.305881] ACPI: \_SB_.PCI0: notify handler is installed
[ 0.305902] Found 1 acpi root devices
[ 0.305975] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none
[ 0.305977] vgaarb: loaded
[ 0.305978] vgaarb: bridge control possible 0000:01:00.0
[ 0.306009] PCI: Using ACPI for IRQ routing
[ 0.312306] PCI: pci_cache_line_size set to 64 bytes
[ 0.312355] e820: reserve RAM buffer [mem 0x0009e800-0x0009ffff]
[ 0.312356] e820: reserve RAM buffer [mem 0xbe867000-0xbfffffff]
[ 0.312357] e820: reserve RAM buffer [mem 0xbf160000-0xbfffffff]
[ 0.312358] e820: reserve RAM buffer [mem 0xbf800000-0xbfffffff]
[ 0.312359] e820: reserve RAM buffer [mem 0x43f000000-0x43fffffff]
[ 0.312432] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[ 0.312435] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
[ 0.314477] Switched to clocksource hpet
[ 0.315829] pnp: PnP ACPI init
[ 0.315837] ACPI: bus type PNP registered
[ 0.315898] system 00:00: [mem 0xe0000000-0xefffffff] has been reserved
[ 0.315901] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[ 0.316107] system 00:01: [io 0x040b] has been reserved
[ 0.316109] system 00:01: [io 0x04d6] has been reserved
[ 0.316111] system 00:01: [io 0x0c00-0x0c01] has been reserved
[ 0.316112] system 00:01: [io 0x0c14] has been reserved
[ 0.316114] system 00:01: [io 0x0c50-0x0c51] has been reserved
[ 0.316115] system 00:01: [io 0x0c52] has been reserved
[ 0.316117] system 00:01: [io 0x0c6c] has been reserved
[ 0.316118] system 00:01: [io 0x0c6f] has been reserved
[ 0.316120] system 00:01: [io 0x0cd0-0x0cd1] has been reserved
[ 0.316121] system 00:01: [io 0x0cd2-0x0cd3] has been reserved
[ 0.316123] system 00:01: [io 0x0cd4-0x0cd5] has been reserved
[ 0.316124] system 00:01: [io 0x0cd6-0x0cd7] has been reserved
[ 0.316125] system 00:01: [io 0x0cd8-0x0cdf] has been reserved
[ 0.316127] system 00:01: [io 0x0800-0x089f] could not be reserved
[ 0.316129] system 00:01: [io 0x0b20-0x0b3f] has been reserved
[ 0.316130] system 00:01: [io 0x0900-0x090f] has been reserved
[ 0.316132] system 00:01: [io 0x0910-0x091f] has been reserved
[ 0.316134] system 00:01: [io 0xfe00-0xfefe] has been reserved
[ 0.316136] system 00:01: [mem 0xfec00000-0xfec00fff] could not be reserved
[ 0.316138] system 00:01: [mem 0xfee00000-0xfee00fff] has been reserved
[ 0.316139] system 00:01: [mem 0xfed80000-0xfed8ffff] has been reserved
[ 0.316141] system 00:01: [mem 0xfed61000-0xfed70fff] has been reserved
[ 0.316144] system 00:01: [mem 0xfec10000-0xfec10fff] has been reserved
[ 0.316145] system 00:01: [mem 0xfed00000-0xfed00fff] has been reserved
[ 0.316147] system 00:01: [mem 0xffc00000-0xffffffff] has been reserved
[ 0.316149] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316264] system 00:02: [io 0x0220-0x0227] has been reserved
[ 0.316266] system 00:02: [io 0x0228-0x0237] has been reserved
[ 0.316267] system 00:02: [io 0x0a20-0x0a2f] has been reserved
[ 0.316269] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316465] pnp 00:03: [dma 0 disabled]
[ 0.316498] pnp 00:03: Plug and Play ACPI device, IDs PNP0501 (active)
[ 0.316507] pnp 00:04: [dma 4]
[ 0.316520] pnp 00:04: Plug and Play ACPI device, IDs PNP0200 (active)
[ 0.316539] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.316557] pnp 00:06: Plug and Play ACPI device, IDs PNP0800 (active)
[ 0.316595] system 00:07: [io 0x04d0-0x04d1] has been reserved
[ 0.316597] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316616] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)
[ 0.316642] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316742] system 00:0a: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316830] system 00:0b: [mem 0xfec20000-0xfec200ff] could not be reserved
[ 0.316832] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.316936] pnp 00:0c: Plug and Play ACPI device, IDs PNP0103 (active)
[ 0.316938] pnp: PnP ACPI: found 13 devices
[ 0.316939] ACPI: bus type PNP unregistered
[ 0.323035] pci 0000:00:02.0: PCI bridge to [bus 01]
[ 0.323038] pci 0000:00:02.0: bridge window [io 0xe000-0xefff]
[ 0.323040] pci 0000:00:02.0: bridge window [mem 0xfc000000-0xfd0fffff]
[ 0.323043] pci 0000:00:02.0: bridge window [mem 0xc0000000-0xd1ffffff 64bit pref]
[ 0.323045] pci 0000:00:04.0: PCI bridge to [bus 02]
[ 0.323048] pci 0000:00:04.0: bridge window [mem 0xfde00000-0xfdefffff]
[ 0.323051] pci 0000:00:09.0: PCI bridge to [bus 03]
[ 0.323053] pci 0000:00:09.0: bridge window [io 0xd000-0xdfff]
[ 0.323055] pci 0000:00:09.0: bridge window [mem 0xfdd00000-0xfddfffff]
[ 0.323057] pci 0000:00:09.0: bridge window [mem 0xd2100000-0xd21fffff 64bit pref]
[ 0.323060] pci 0000:00:0a.0: PCI bridge to [bus 04]
[ 0.323062] pci 0000:00:0a.0: bridge window [mem 0xfd400000-0xfdbfffff]
[ 0.323065] pci 0000:00:14.4: PCI bridge to [bus 05]
[ 0.323067] pci 0000:00:14.4: bridge window [io 0xc000-0xcfff]
[ 0.323071] pci 0000:00:14.4: bridge window [mem 0xfdc00000-0xfdcfffff]
[ 0.323077] pci_bus 0000:00: resource 4 [io 0x0000-0x03af]
[ 0.323079] pci_bus 0000:00: resource 5 [io 0x03e0-0x0cf7]
[ 0.323080] pci_bus 0000:00: resource 6 [io 0x03b0-0x03df]
[ 0.323081] pci_bus 0000:00: resource 7 [io 0x0d00-0xffff]
[ 0.323083] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff]
[ 0.323084] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff]
[ 0.323086] pci_bus 0000:00: resource 10 [mem 0xc0000000-0xffffffff]
[ 0.323087] pci_bus 0000:01: resource 0 [io 0xe000-0xefff]
[ 0.323088] pci_bus 0000:01: resource 1 [mem 0xfc000000-0xfd0fffff]
[ 0.323090] pci_bus 0000:01: resource 2 [mem 0xc0000000-0xd1ffffff 64bit pref]
[ 0.323091] pci_bus 0000:02: resource 1 [mem 0xfde00000-0xfdefffff]
[ 0.323092] pci_bus 0000:03: resource 0 [io 0xd000-0xdfff]
[ 0.323094] pci_bus 0000:03: resource 1 [mem 0xfdd00000-0xfddfffff]
[ 0.323095] pci_bus 0000:03: resource 2 [mem 0xd2100000-0xd21fffff 64bit pref]
[ 0.323096] pci_bus 0000:04: resource 1 [mem 0xfd400000-0xfdbfffff]
[ 0.323098] pci_bus 0000:05: resource 0 [io 0xc000-0xcfff]
[ 0.323099] pci_bus 0000:05: resource 1 [mem 0xfdc00000-0xfdcfffff]
[ 0.323100] pci_bus 0000:05: resource 4 [io 0x0000-0x03af]
[ 0.323102] pci_bus 0000:05: resource 5 [io 0x03e0-0x0cf7]
[ 0.323103] pci_bus 0000:05: resource 6 [io 0x03b0-0x03df]
[ 0.323104] pci_bus 0000:05: resource 7 [io 0x0d00-0xffff]
[ 0.323105] pci_bus 0000:05: resource 8 [mem 0x000a0000-0x000bffff]
[ 0.323107] pci_bus 0000:05: resource 9 [mem 0x000c0000-0x000dffff]
[ 0.323108] pci_bus 0000:05: resource 10 [mem 0xc0000000-0xffffffff]
[ 0.323188] NET: Registered protocol family 2
[ 0.323466] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[ 0.323874] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[ 0.324041] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.324065] TCP: reno registered
[ 0.324083] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[ 0.324144] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)
[ 0.324292] NET: Registered protocol family 1
[ 0.646409] pci 0000:01:00.0: Boot video device
[ 0.646625] PCI: CLS 64 bytes, default 64
[ 0.646654] Unpacking initramfs...
[ 0.863943] Freeing initrd memory: 14440K (ffff8800363bc000 - ffff8800371d6000)
[ 0.864306] PCI-DMA: Disabling AGP.
[ 0.864374] PCI-DMA: aperture base @ f8000000 size 65536 KB
[ 0.864375] init_memory_mapping: [mem 0xf8000000-0xfbffffff]
[ 0.864377] [mem 0xf8000000-0xfbffffff] page 2M
[ 0.864384] PCI-DMA: using GART IOMMU.
[ 0.864386] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
[ 0.868899] perf: AMD NB counters detected
[ 0.868922] LVT offset 0 assigned for vector 0x400
[ 0.868941] perf: AMD IBS detected (0x000000ff)
[ 0.868975] microcode: CPU0: patch_level=0x06000822
[ 0.868982] microcode: CPU1: patch_level=0x06000822
[ 0.868990] microcode: CPU2: patch_level=0x06000822
[ 0.868997] microcode: CPU3: patch_level=0x06000822
[ 0.869001] microcode: CPU4: patch_level=0x06000822
[ 0.869006] microcode: CPU5: patch_level=0x06000822
[ 0.869069] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[ 0.869301] audit: initializing netlink socket (disabled)
[ 0.869315] type=2000 audit(1390461592.756:1): initialized
[ 0.878684] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 0.879658] VFS: Disk quotas dquot_6.5.2
[ 0.879681] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.879744] msgmni has been set to 32225
[ 0.879999] alg: No test for stdrng (krng)
[ 0.880023] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 0.880062] io scheduler noop registered
[ 0.880064] io scheduler deadline registered
[ 0.880086] io scheduler cfq registered (default)
[ 0.880360] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 0.880371] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 0.880406] GHES: HEST is not enabled!
[ 0.880444] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.900773] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 0.901061] Linux agpgart interface v0.103
[ 0.901123] i8042: PNP: No PS/2 controller found. Probing ports directly.
[ 0.901470] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 0.901476] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 0.901588] mousedev: PS/2 mouse device common for all mice
[ 0.901614] rtc_cmos 00:05: RTC can wake from S4
[ 0.901704] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[ 0.901724] rtc_cmos 00:05: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[ 0.901733] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[ 0.901734] AMD IOMMUv2 functionality not available on this system
[ 0.901795] TCP: cubic registered
[ 0.901860] NET: Registered protocol family 10
[ 0.902003] mip6: Mobile IPv6
[ 0.902004] NET: Registered protocol family 17
[ 0.902007] mpls_gso: MPLS GSO support
[ 0.902382] registered taskstats version 1
[ 0.903410] rtc_cmos 00:05: setting system clock to 2014-01-23 07:19:53 UTC (1390461593)
[ 0.903443] PM: Hibernation image not present or could not be loaded.
[ 0.904021] Freeing unused kernel memory: 972K (ffffffff818ab000 - ffffffff8199e000)
[ 0.904023] Write protecting the kernel read-only data: 8192k
[ 0.906309] Freeing unused kernel memory: 1408K (ffff8800014a0000 - ffff880001600000)
[ 0.907026] Freeing unused kernel memory: 452K (ffff88000178f000 - ffff880001800000)
[ 0.915094] systemd-udevd[78]: starting version 204
[ 0.927238] ACPI: bus type USB registered
[ 0.927265] usbcore: registered new interface driver usbfs
[ 0.927275] usbcore: registered new interface driver hub
[ 0.928722] SCSI subsystem initialized
[ 0.932320] libata version 3.00 loaded.
[ 0.932522] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[ 0.932535] r8169 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 0.932541] pcieport 0000:00:09.0: driver skip pci_set_master, fix it!
[ 0.932808] r8169 0000:03:00.0: irq 72 for MSI/MSI-X
[ 0.932985] r8169 0000:03:00.0 eth0: RTL8168evl/8111evl at 0xffffc90001820000, 94:de:80:bf:e9:8b, XID 0c900800 IRQ 72
[ 0.932988] r8169 0000:03:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[ 0.933068] usbcore: registered new device driver usb
[ 0.933167] ahci 0000:00:11.0: version 3.0
[ 0.933343] ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[ 0.933346] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part
[ 0.933759] xhci_hcd 0000:02:00.0: xHCI Host Controller
[ 0.933768] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 1
[ 0.933857] xhci_hcd 0000:02:00.0: irq 73 for MSI/MSI-X
[ 0.933914] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.934155] ehci-pci: EHCI PCI platform driver
[ 0.934322] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.934492] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.934494] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.934496] usb usb1: Product: xHCI Host Controller
[ 0.934498] usb usb1: Manufacturer: Linux 3.12-1-amd64 xhci_hcd
[ 0.934500] usb usb1: SerialNumber: 0000:02:00.0
[ 0.934570] ohci-pci: OHCI PCI platform driver
[ 0.934648] hub 1-0:1.0: USB hub found
[ 0.934657] hub 1-0:1.0: 1 port detected
[ 0.934758] xhci_hcd 0000:02:00.0: xHCI Host Controller
[ 0.934761] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[ 0.934806] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 0.934808] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.934810] usb usb2: Product: xHCI Host Controller
[ 0.934812] usb usb2: Manufacturer: Linux 3.12-1-amd64 xhci_hcd
[ 0.934814] usb usb2: SerialNumber: 0000:02:00.0
[ 0.934935] hub 2-0:1.0: USB hub found
[ 0.934944] hub 2-0:1.0: 4 ports detected
[ 0.935295] scsi0 : ahci
[ 0.935596] scsi1 : ahci
[ 0.935667] scsi2 : ahci
[ 0.935744] scsi3 : ahci
[ 0.935807] scsi4 : ahci
[ 0.935897] scsi5 : ahci
[ 0.935941] ata1: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b100 irq 19
[ 0.935944] ata2: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b180 irq 19
[ 0.935946] ata3: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b200 irq 19
[ 0.935949] ata4: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b280 irq 19
[ 0.935951] ata5: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b300 irq 19
[ 0.935954] ata6: SATA max UDMA/133 abar m1024@0xfd10b000 port 0xfd10b380 irq 19
[ 0.936069] ehci-pci 0000:00:12.2: EHCI Host Controller
[ 0.936076] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus number 3
[ 0.936087] QUIRK: Enable AMD PLL fix
[ 0.936089] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[ 0.936099] ehci-pci 0000:00:12.2: debug port 1
[ 0.936131] ehci-pci 0000:00:12.2: irq 17, io mem 0xfd109000
[ 0.940175] 8139too: 8139too Fast Ethernet driver 0.9.28
[ 0.940761] 8139too 0000:05:07.0 eth1: RealTek RTL8139 at 0xffffc90011bcc000, 00:04:e2:12:1c:ea, IRQ 21
[ 0.946006] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
[ 0.946050] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.946052] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.946054] usb usb3: Product: EHCI Host Controller
[ 0.946056] usb usb3: Manufacturer: Linux 3.12-1-amd64 ehci_hcd
[ 0.946058] usb usb3: SerialNumber: 0000:00:12.2
[ 0.946218] hub 3-0:1.0: USB hub found
[ 0.946227] hub 3-0:1.0: 5 ports detected
[ 0.946495] ehci-pci 0000:00:13.2: EHCI Host Controller
[ 0.946507] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus number 4
[ 0.946511] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[ 0.946521] ehci-pci 0000:00:13.2: debug port 1
[ 0.946543] ehci-pci 0000:00:13.2: irq 17, io mem 0xfd107000
[ 0.958033] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
[ 0.958134] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.958137] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.958139] usb usb4: Product: EHCI Host Controller
[ 0.958140] usb usb4: Manufacturer: Linux 3.12-1-amd64 ehci_hcd
[ 0.958141] usb usb4: SerialNumber: 0000:00:13.2
[ 0.958238] hub 4-0:1.0: USB hub found
[ 0.958252] hub 4-0:1.0: 5 ports detected
[ 0.958465] ehci-pci 0000:00:16.2: EHCI Host Controller
[ 0.958469] ehci-pci 0000:00:16.2: new USB bus registered, assigned bus number 5
[ 0.958472] ehci-pci 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[ 0.958480] ehci-pci 0000:00:16.2: debug port 1
[ 0.958500] ehci-pci 0000:00:16.2: irq 17, io mem 0xfd104000
[ 0.970058] ehci-pci 0000:00:16.2: USB 2.0 started, EHCI 1.00
[ 0.970137] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.970139] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.970141] usb usb5: Product: EHCI Host Controller
[ 0.970142] usb usb5: Manufacturer: Linux 3.12-1-amd64 ehci_hcd
[ 0.970143] usb usb5: SerialNumber: 0000:00:16.2
[ 0.970233] hub 5-0:1.0: USB hub found
[ 0.970245] hub 5-0:1.0: 4 ports detected
[ 0.970448] ohci-pci 0000:00:12.0: OHCI PCI host controller
[ 0.970453] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus number 6
[ 0.970476] ohci-pci 0000:00:12.0: irq 18, io mem 0xfd10a000
[ 1.029982] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.029984] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.029986] usb usb6: Product: OHCI PCI host controller
[ 1.029987] usb usb6: Manufacturer: Linux 3.12-1-amd64 ohci_hcd
[ 1.029988] usb usb6: SerialNumber: 0000:00:12.0
[ 1.030076] hub 6-0:1.0: USB hub found
[ 1.030084] hub 6-0:1.0: 5 ports detected
[ 1.030222] ohci-pci 0000:00:13.0: OHCI PCI host controller
[ 1.030227] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 7
[ 1.030239] ohci-pci 0000:00:13.0: irq 18, io mem 0xfd108000
[ 1.089918] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.089920] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.089921] usb usb7: Product: OHCI PCI host controller
[ 1.089923] usb usb7: Manufacturer: Linux 3.12-1-amd64 ohci_hcd
[ 1.089924] usb usb7: SerialNumber: 0000:00:13.0
[ 1.090009] hub 7-0:1.0: USB hub found
[ 1.090016] hub 7-0:1.0: 5 ports detected
[ 1.090145] ohci-pci 0000:00:14.5: OHCI PCI host controller
[ 1.090149] ohci-pci 0000:00:14.5: new USB bus registered, assigned bus number 8
[ 1.090160] ohci-pci 0000:00:14.5: irq 18, io mem 0xfd106000
[ 1.149873] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.149875] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.149876] usb usb8: Product: OHCI PCI host controller
[ 1.149877] usb usb8: Manufacturer: Linux 3.12-1-amd64 ohci_hcd
[ 1.149879] usb usb8: SerialNumber: 0000:00:14.5
[ 1.149961] hub 8-0:1.0: USB hub found
[ 1.149967] hub 8-0:1.0: 2 ports detected
[ 1.150078] ohci-pci 0000:00:16.0: OHCI PCI host controller
[ 1.150082] ohci-pci 0000:00:16.0: new USB bus registered, assigned bus number 9
[ 1.150092] ohci-pci 0000:00:16.0: irq 18, io mem 0xfd105000
[ 1.209844] usb usb9: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.209847] usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.209849] usb usb9: Product: OHCI PCI host controller
[ 1.209850] usb usb9: Manufacturer: Linux 3.12-1-amd64 ohci_hcd
[ 1.209851] usb usb9: SerialNumber: 0000:00:16.0
[ 1.209936] hub 9-0:1.0: USB hub found
[ 1.209944] hub 9-0:1.0: 4 ports detected
[ 1.245819] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[ 1.253828] ata5: SATA link down (SStatus 0 SControl 300)
[ 1.253868] ata6: SATA link down (SStatus 0 SControl 300)
[ 1.262996] usb 1-1: New USB device found, idVendor=2109, idProduct=3431
[ 1.262999] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1.263001] usb 1-1: Product: USB2.0 Hub
[ 1.263429] hub 1-1:1.0: USB hub found
[ 1.263524] hub 1-1:1.0: 4 ports detected
[ 1.425671] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.425691] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.425708] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1.425725] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.426210] ata3.00: ATA-9: WDC WD30EFRX-68EUZN0, 80.00A80, max UDMA/133
[ 1.426212] ata3.00: 5860533168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 1.426285] ata2.00: ATA-9: WDC WD30EFRX-68EUZN0, 80.00A80, max UDMA/133
[ 1.426288] ata2.00: 5860533168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 1.426539] ata1.00: ATA-8: SanDisk SDSSDHP128G, X2306RL, max UDMA/133
[ 1.426541] ata1.00: 250069680 sectors, multi 1: LBA48 NCQ (depth 31/32), AA
[ 1.426793] ata3.00: configured for UDMA/133
[ 1.426839] ata2.00: configured for UDMA/133
[ 1.427276] ata4.00: ATAPI: ATAPI iHAS324 Y, BL1Y, max UDMA/100
[ 1.427430] ata1.00: configured for UDMA/133
[ 1.427557] scsi 0:0:0:0: Direct-Access ATA SanDisk SDSSDHP1 X230 PQ: 0 ANSI: 5
[ 1.427744] scsi 1:0:0:0: Direct-Access ATA WDC WD30EFRX-68E 80.0 PQ: 0 ANSI: 5
[ 1.427879] scsi 2:0:0:0: Direct-Access ATA WDC WD30EFRX-68E 80.0 PQ: 0 ANSI: 5
[ 1.429123] ata4.00: configured for UDMA/100
[ 1.430910] scsi 3:0:0:0: CD-ROM ATAPI iHAS324 Y BL1Y PQ: 0 ANSI: 5
[ 1.434995] sd 0:0:0:0: [sda] 250069680 512-byte logical blocks: (128 GB/119 GiB)
[ 1.435025] sd 2:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[ 1.435029] sd 2:0:0:0: [sdc] 4096-byte physical blocks
[ 1.435040] sd 1:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[ 1.435042] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 1.435101] sd 0:0:0:0: [sda] Write Protect is off
[ 1.435104] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.435114] sd 2:0:0:0: [sdc] Write Protect is off
[ 1.435116] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[ 1.435126] sd 1:0:0:0: [sdb] Write Protect is off
[ 1.435128] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.435133] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.435148] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.435159] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.435675] sda: sda1
[ 1.435795] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
[ 1.435797] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 1.435882] sr 3:0:0:0: Attached scsi CD-ROM sr0
[ 1.435918] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.437160] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 1.437201] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 1.437237] sd 2:0:0:0: Attached scsi generic sg2 type 0
[ 1.437274] sr 3:0:0:0: Attached scsi generic sg3 type 5
[ 1.490606] sdc: sdc1 sdc2
[ 1.490896] sd 2:0:0:0: [sdc] Attached SCSI disk
[ 1.492053] sdb: sdb1 sdb2
[ 1.492299] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 1.541695] usb 1-1.1: new low-speed USB device number 3 using xhci_hcd
[ 1.623456] platform microcode: firmware: direct-loading firmware amd-ucode/microcode_amd_fam15h.bin
[ 1.626436] device-mapper: uevent: version 1.0.3
[ 1.626502] device-mapper: ioctl: 4.26.0-ioctl (2013-08-15) initialised: dm-devel@redhat.com
[ 1.632063] PM: Starting manual resume from disk
[ 1.632065] PM: Hibernation image partition 8:17 present
[ 1.632066] PM: Looking for hibernation image.
[ 1.632182] PM: Image not found (code -22)
[ 1.632184] PM: Hibernation image not present or could not be loaded.
[ 1.639695] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[ 1.809802] systemd-udevd[411]: starting version 204
[ 1.862820] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input2
[ 1.862827] ACPI: Power Button [PWRB]
[ 1.862993] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[ 1.862996] ACPI: Power Button [PWRF]
[ 1.863781] ACPI: acpi_idle registered with cpuidle
[ 1.865297] tsc: Refined TSC clocksource calibration: 3516.188 MHz
[ 1.868024] acpi-cpufreq: overriding BIOS provided _PSD data
[ 1.869655] media: Linux media interface: v0.10
[ 1.871791] Linux video capture interface: v2.00
[ 1.879732] [drm] Initialized drm 1.1.0 20060810
[ 1.879905] saa7164 driver loaded
[ 1.879987] pcieport 0000:00:0a.0: driver skip pci_set_master, fix it!
[ 1.880578] CORE saa7164[0]: subsystem: 0070:8940, board: Hauppauge WinTV-HVR2200 [card=9,autodetected]
[ 1.880583] saa7164[0]/0: found at 0000:04:00.0, rev: 129, irq: 47, latency: 0, mmio: 0xfd800000
[ 1.885771] wmi: Mapper loaded
[ 1.890877] systemd-udevd[450]: renamed network interface eth0 to eth6
[ 1.895100] EDAC MC: Ver: 3.0.0
[ 1.895900] MCE: In-kernel MCE decoding enabled.
[ 1.897849] AMD64 EDAC driver v3.4.0
[ 1.898460] input: PC Speaker as /devices/platform/pcspkr/input/input4
[ 1.898850] pcieport 0000:00:02.0: driver skip pci_set_master, fix it!
[ 1.899182] nouveau [ DEVICE][0000:01:00.0] BOOT0 : 0x0a8280b1
[ 1.899185] nouveau [ DEVICE][0000:01:00.0] Chipset: GT218 (NVA8)
[ 1.899187] nouveau [ DEVICE][0000:01:00.0] Family : NV50
[ 1.900135] Error: Driver 'pcspkr' is already registered, aborting...
[ 1.900572] nouveau [ VBIOS][0000:01:00.0] checking PRAMIN for image...
[ 1.906763] input: HDA ATI SB Front Headphone as /devices/pci0000:00/0000:00:14.2/sound/card0/input13
[ 1.906798] input: HDA ATI SB Line Out Side as /devices/pci0000:00/0000:00:14.2/sound/card0/input12
[ 1.906821] input: HDA ATI SB Line Out CLFE as /devices/pci0000:00/0000:00:14.2/sound/card0/input11
[ 1.906846] input: HDA ATI SB Line Out Surround as /devices/pci0000:00/0000:00:14.2/sound/card0/input10
[ 1.906869] input: HDA ATI SB Line Out Front as /devices/pci0000:00/0000:00:14.2/sound/card0/input9
[ 1.906893] input: HDA ATI SB Line as /devices/pci0000:00/0000:00:14.2/sound/card0/input8
[ 1.906915] input: HDA ATI SB Rear Mic as /devices/pci0000:00/0000:00:14.2/sound/card0/input7
[ 1.906939] input: HDA ATI SB Front Mic as /devices/pci0000:00/0000:00:14.2/sound/card0/input6
[ 1.907238] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
[ 1.907276] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb20
[ 1.909335] EDAC amd64: DRAM ECC disabled.
[ 1.909386] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[ 1.909386] Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[ 1.909386] (Note that use of the override may cause unknown side effects.)
[ 1.909746] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[ 1.909788] sp5100_tco: PCI Revision ID: 0x42
[ 1.909832] sp5100_tco: Using 0xfed80b00 for watchdog MMIO address
[ 1.909852] sp5100_tco: Last reboot was not triggered by watchdog.
[ 1.909882] sp5100_tco: initialized (0xffffc90001872b00). heartbeat=60 sec (nowayout=0)
[ 1.927727] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[ 1.932359] alg: No test for crc32 (crc32-pclmul)
[ 1.940239] kvm: Nested Virtualization enabled
[ 1.940244] kvm: Nested Paging enabled
[ 1.941607] md: bind<sdc2>
[ 1.964425] md: bind<sdb2>
[ 1.966264] md: raid1 personality registered for level 1
[ 1.966533] md/raid1:md0: active with 2 out of 2 mirrors
[ 1.966613] created bitmap (22 pages) for device md0
[ 1.966977] md0: bitmap initialized from disk: read 2 pages, set 0 of 44583 bits
[ 1.978680] nouveau [ VBIOS][0000:01:00.0] ... appears to be valid
[ 1.978682] nouveau [ VBIOS][0000:01:00.0] using image from PRAMIN
[ 1.978778] nouveau [ VBIOS][0000:01:00.0] BIT signature found
[ 1.978780] nouveau [ VBIOS][0000:01:00.0] version 70.18.5f.00.06
[ 1.979013] nouveau [ PFB][0000:01:00.0] RAM type: DDR3
[ 1.979015] nouveau [ PFB][0000:01:00.0] RAM size: 1024 MiB
[ 1.979016] nouveau [ PFB][0000:01:00.0] ZCOMP: 960 tags
[ 1.979685] md0: detected capacity change from 0 to 2991867756544
[ 1.985049] md0: unknown partition table
[ 1.999120] systemd-udevd[453]: renamed network interface eth1 to eth5
[ 2.045224] saa7164_downloadfirmware() no first image
[ 2.045303] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw)
[ 2.056245] saa7164 0000:04:00.0: firmware: direct-loading firmware NXP7164-2010-03-10.1.fw
[ 2.056254] saa7164_downloadfirmware() firmware read 4019072 bytes.
[ 2.056257] saa7164_downloadfirmware() firmware loaded.
[ 2.056259] Firmware file header part 1:
[ 2.056261] .FirmwareSize = 0x0
[ 2.056263] .BSLSize = 0x0
[ 2.056265] .Reserved = 0x3d538
[ 2.056267] .Version = 0x3
[ 2.056270] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072
[ 2.056277] saa7164_downloadfirmware() FirmwareSize = 0x1fd6
[ 2.056279] saa7164_downloadfirmware() BSLSize = 0x0
[ 2.056281] saa7164_downloadfirmware() Reserved = 0x0
[ 2.056283] saa7164_downloadfirmware() Version = 0x1661c00
[ 2.876553] Switched to clocksource tsc
[ 3.260222] nouveau [ PTHERM][0000:01:00.0] FAN control: none / external
[ 3.260228] nouveau [ PTHERM][0000:01:00.0] fan management: disabled
[ 3.260231] nouveau [ PTHERM][0000:01:00.0] internal sensor: yes
[ 3.260398] [TTM] Zone kernel: Available graphics memory: 8251236 kiB
[ 3.260400] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
[ 3.260401] [TTM] Initializing pool allocator
[ 3.260404] [TTM] Initializing DMA pool allocator
[ 18.669471] it87: Found IT8728F chip at 0x228, revision 1
[ 18.669486] it87: Beeping is supported
[ 19.975949] 8139too 0000:05:07.0 eth5: link up, 100Mbps, full-duplex, lpa 0xC5E1
[ 83.447039] r8169 0000:03:00.0: firmware: direct-loading firmware rtl_nic/rtl8168e-3.fw
[ 83.564436] r8169 0000:03:00.0 eth6: link down
[ 83.564468] r8169 0000:03:00.0 eth6: link down
[ 83.564484] IPv6: ADDRCONF(NETDEV_UP): eth6: link is not ready
[ 86.701238] r8169 0000:03:00.0 eth6: link up
[ 86.701249] IPv6: ADDRCONF(NETDEV_CHANGE): eth6: link becomes ready
[ 866.212244] ------------[ cut here ]------------
[ 866.212258] WARNING: CPU: 5 PID: 0 at /build/linux-xS3nxO/linux-3.12.6/net/sched/sch_generic.c:264 dev_watchdog+0x226/0x230()
[ 866.212262] NETDEV WATCHDOG: eth6 (r8169): transmit queue 0 timed out
[ 866.212264] Modules linked in: bnep rfcomm bluetooth rfkill vhost_net vhost macvtap macvlan tun xt_multiport ipt_MASQUERADE xt_CHECKSUM iptable_mangle bridge stp llc ebtable_nat ebtables parport_pc ppdev lp parport binfmt_misc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables xt_REDIRECT iptable_nat nf_nat_ipv4 nf_nat ipt_REJECT xt_tcpudp xt_LOG xt_mac nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables x_tables fuse it87 hwmon_vid loop tda18271 tda10048 joydev hid_generic snd_hda_codec_hdmi usbhid hid raid1 evdev kvm_amd md_mod kvm crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 ablk_helper cryptd lrw sp5100_tco gf128mul glue_helper fam15h_power k10temp psmouse pcspkr serio_raw nouveau edac_mce_amd edac_core i2c_piix4 snd_hda_codec_via mxm_wmi wmi video ttm drm_kms_helper saa7164 snd_hda_intel tveeprom dvb_core drm snd_hda_codec v4l2_common videodev snd_hwdep media snd_pcm i2c_algo_bit acpi_cpufreq snd_page_alloc i2c_core snd_timer snd processor soundcore button thermal_sys ext4 crc16 mbcache jbd2 dm_mod sg sd_mod sr_mod cdrom crc_t10dif crct10dif_common 8139too ohci_pci ohci_hcd ehci_pci ehci_hcd xhci_hcd ahci libahci r8169 mii libata scsi_mod usbcore usb_common
[ 866.212380] CPU: 5 PID: 0 Comm: swapper/5 Not tainted 3.12-1-amd64 #1 Debian 3.12.6-2
[ 866.212383] Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-D3P, BIOS F3 05/24/2013
[ 866.212386] 0000000000000009 ffffffff8148c9d5 ffff88043ed43df0 ffffffff8105b572
[ 866.212392] 0000000000000000 ffff88043ed43e40 0000000000000001 0000000000000005
[ 866.212397] ffff88042a4d4000 ffffffff8105b5d7 ffffffff81742f20 ffff880400000030
[ 866.212402] Call Trace:
[ 866.212405] <IRQ> [<ffffffff8148c9d5>] ? dump_stack+0x41/0x51
[ 866.212419] [<ffffffff8105b572>] ? warn_slowpath_common+0x72/0x90
[ 866.212425] [<ffffffff8105b5d7>] ? warn_slowpath_fmt+0x47/0x50
[ 866.212437] [<ffffffff813c86d6>] ? dev_watchdog+0x226/0x230
[ 866.212442] [<ffffffff813c84b0>] ? dev_graft_qdisc+0x70/0x70
[ 866.212447] [<ffffffff81066a3c>] ? call_timer_fn+0x2c/0x100
[ 866.212452] [<ffffffff813c84b0>] ? dev_graft_qdisc+0x70/0x70
[ 866.212457] [<ffffffff81067879>] ? run_timer_softirq+0x1f9/0x2b0
[ 866.212466] [<ffffffff8106071d>] ? __do_softirq+0xed/0x230
[ 866.212476] [<ffffffff8149b3dc>] ? call_softirq+0x1c/0x30
[ 866.212482] [<ffffffff810143b5>] ? do_softirq+0x55/0x90
[ 866.212487] [<ffffffff810609b5>] ? irq_exit+0x95/0xa0
[ 866.212493] [<ffffffff8103debb>] ? smp_apic_timer_interrupt+0x3b/0x50
[ 866.212498] [<ffffffff8149a71d>] ? apic_timer_interrupt+0x6d/0x80
[ 866.212500] <EOI> [<ffffffff81377efa>] ? cpuidle_enter_state+0x4a/0xc0
[ 866.212514] [<ffffffff81378026>] ? cpuidle_idle_call+0xb6/0x1f0
[ 866.212520] [<ffffffff8101ae95>] ? arch_cpu_idle+0x5/0x30
[ 866.212525] [<ffffffff810a453e>] ? cpu_startup_entry+0xde/0x270
[ 866.212531] [<ffffffff8103c354>] ? start_secondary+0x1d4/0x230
[ 866.212534] ---[ end trace cd522523d6e120ac ]---
[ 866.230696] r8169 0000:03:00.0 eth6: link up
[ 1729.580858] r8169 0000:03:00.0 eth6: link up
^ permalink raw reply
* Re: [PATCH] af_packet: Add Queue mapping mode to af_packet fanout operation
From: Daniel Borkmann @ 2014-01-23 7:56 UTC (permalink / raw)
To: Eric Dumazet; +Cc: Neil Horman, netdev, David S. Miller
In-Reply-To: <1390439292.27806.48.camel@edumazet-glaptop2.roam.corp.google.com>
n 01/23/2014 02:08 AM, Eric Dumazet wrote:
> On Wed, 2014-01-22 at 23:00 +0100, Daniel Borkmann wrote:
>> On 01/22/2014 10:01 PM, Neil Horman wrote:
>>> This patch adds a queue mapping mode to the fanout operation of af_packet
>>> sockets. This allows user space af_packet users to better filter on flows
>>> ingressing and egressing via a specific hardware queue, and avoids the potential
>>
>> Maybe I'm missing something, but I currently cannot find where this is
>> being filled out for ingress path? Egress, ok, this gets filled out
>> somewhere in protocol layers or elsewhere and is being locally pushed
>> back through dev_queue_xmit_nit(), but I think main use case is ingress
>> through packet fanout. In driver layer I can find skb->rxhash filled out
>> which would then be PACKET_FANOUT_HASH.
>> (Otherwise patch looks good.)
>
> Check for various multiqueue drivers calling skb_record_rx_queue()
Okay, thanks for the clarification Eric, patch looks good then.
^ permalink raw reply
* How to identify different ip tunnels
From: zhuyj @ 2014-01-23 7:33 UTC (permalink / raw)
To: David S. Miller, netdev, kuznet, jmorris, yoshfuji, kaber,
linux-kernel, zhuyj
Hi, Maintainers
We want to identify different ip tunnels.
For example, we use “ip tunnel add xxx” command in linux to create an
ipv4/6 tunnel interface,then,we can receive a RTM_NEWLINK message from
linux for the new tunnel interface.
We will parse the struct ifinfomsg message and get the ifi->ifi_type
attribute. We need to do somethings depend on the tunnel type here.
I checked the linux source code and list all the tunnel types here:
#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
#define ARPHRD_TUNNEL6 769 /* IP6IP6 tunnel */
#define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */
#define ARPHRD_IPGRE 778 /* GRE over IP */
It means that the linux will report the new link for any ipv4/6 tunnel
interface with type only within these four types. However, We need more
tunnel types for ipv4/6 tunnel.
For example, 4IN4/6IN4/6TO4/GRE/ISATAP for ipv4 tunnel and
4IN6/6IN6/IPIN6 for ipv6 tunnel.
Here are the result that we have got:
Actual Tunnel type ifi->ifi_type
4IN4 768
GRE4 778
6IN4/6TO4/ISATAP 776
4IN6/6IN6/IPIN6 769
So, we can NOT distinguish the actual tunnel type via ifi_type attribute
except the GRE4 and 4IN4 tunnel. However we need the actual type. That
is our question.
BTW, for the 6IN4 and 6TO4 tunnel, Can we distinguish them before the
interface ip address configured? Because we need to do different things
for them when we received the new link message and the tunnel has NOT
any ip address in this time.
Best Regards!
Zhu Yanjun
^ permalink raw reply
* [PATCH] ipv6: reallocate addrconf router for ipv6 address when lo device up
From: Gao feng @ 2014-01-23 6:57 UTC (permalink / raw)
To: netdev; +Cc: davem, Gao feng, Sabrina Dubroca, Hannes Frederic Sowa,
Weilong Chen
commit 25fb6ca4ed9cad72f14f61629b68dc03c0d9713f
"net IPv6 : Fix broken IPv6 routing table after loopback down-up"
allocates addrconf router for ipv6 address when lo device up.
but commit a881ae1f625c599b460cc8f8a7fcb1c438f699ad
"ipv6:don't call addrconf_dst_alloc again when enable lo" breaks
this behavior.
Since the addrconf router is moved to the garbage list when
lo device down, we should delete this router and rellocate
a new one for ipv6 address when lo device up.
This patch solves bug 67951 on bugzilla
https://bugzilla.kernel.org/show_bug.cgi?id=67951
CC: Sabrina Dubroca <sd@queasysnail.net>
CC: Hannes Frederic Sowa <hannes@stressinduktion.org>
Reported-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
---
net/ipv6/addrconf.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 4b6b720..6eecd9d 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2611,8 +2611,17 @@ static void init_loopback(struct net_device *dev)
if (sp_ifa->flags & (IFA_F_DADFAILED | IFA_F_TENTATIVE))
continue;
- if (sp_ifa->rt)
- continue;
+ if (sp_ifa->rt) {
+ /* This dst has been added to garbage list when
+ * lo device down, delete this obsolete dst and
+ * reallocate a new router for ifa.
+ */
+ if (sp_ifa->rt->dst.obsolete > 0) {
+ ip6_del_rt(sp_ifa->rt);
+ sp_ifa->rt = NULL;
+ } else
+ continue;
+ }
sp_rt = addrconf_dst_alloc(idev, &sp_ifa->addr, false);
--
1.8.4.2
^ permalink raw reply related
* Re: IPV6 routing problem
From: Sharat Masetty @ 2014-01-23 7:15 UTC (permalink / raw)
To: Sharat Masetty, netdev
In-Reply-To: <20140122071101.GC28225@order.stressinduktion.org>
Unfortunately toggling this config setting CONFIG_IPV6_ROUTER_PREF did
not help, I see the same problem in both cases.
The kernel version I am using is 3.10.0.
Thanks for confirming that this is a non issue on 3.13 kernel version.
Would you happen to know which patch would have potentially fixed this
issue?
On Wed, Jan 22, 2014 at 12:11 AM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On Wed, Jan 22, 2014 at 08:07:59AM +0100, Hannes Frederic Sowa wrote:
>> Hi!
>>
>> On Tue, Jan 21, 2014 at 06:41:58PM -0700, Sharat Masetty wrote:
>> > I have an IPV6 routing problem that has only surfaced on a 3.10
>> > kernel version. This problem is not seen on 3.4 kernel. I will keep
>> > the problem statement as brief as possible.
>>
>> Could you do me a favor and test this on a recent 3.13 kernel? Thanks!
>> Please also state the specific kernel version (I guess you use one).
>
> +stable.
>
> A quick test worked for me. Maybe you could try with CONFIG_IPV6_ROUTER_PREF
> enabled and one time with it disabled.
>
> We should make this knob a runtime setting soon...
>
> Thanks,
>
> Hannes
>
^ permalink raw reply
* Re: [Patch net-next 3/6] net_sched: act: hide struct tcf_common from API
From: Cong Wang @ 2014-01-23 7:10 UTC (permalink / raw)
To: Jamal Hadi Salim; +Cc: Linux Kernel Network Developers, David S. Miller
In-Reply-To: <52DFBD40.4090905@mojatatu.com>
On Wed, Jan 22, 2014 at 4:44 AM, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> Cong,
>
> I applied the patches and run the tests below.
> The first one is broken for sure.
> The second one has different behavior - but then I rembered
> i had an offline discussion with you and i think this is fine.
>
> Please chase whatever these issues are and fix; if the tests pass
> you could go ahead and add my signed-off.
>
Hi, Jamal
I had similar tests locally, I will check why the first of your test
failed tomorrow.
For the second, yeah actions bound to a filter refuse to be removed
after my patches, this is intentional.
Thanks!
^ permalink raw reply
* Re: [RFC PATCH net] IPv6: Fix broken IPv6 routing table after loopback down-up
From: Gao feng @ 2014-01-23 6:23 UTC (permalink / raw)
To: Sabrina Dubroca, netdev, Hannes Frederic Sowa
In-Reply-To: <20140123010123.GF7269@order.stressinduktion.org>
On 01/23/2014 09:01 AM, Hannes Frederic Sowa wrote:
> On Thu, Jan 23, 2014 at 08:56:37AM +0800, Gao feng wrote:
>> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
>> index 1a341f7..4dca886 100644
>> --- a/net/ipv6/addrconf.c
>> +++ b/net/ipv6/addrconf.c
>> @@ -2610,8 +2610,16 @@ static void init_loopback(struct net_device *dev)
>> if (sp_ifa->flags & (IFA_F_DADFAILED | IFA_F_TENTATIVE))
>> continue;
>>
>> - if (sp_ifa->rt)
>> - continue;
>> + if (sp_ifa->rt) {
>> + /* This dst has been added to garbage list when
>> + * lo device down, delete this obsolete dst and
>> + * reallocate new router for ifa. */
>> + if (sp_ifa->rt->dst.obsolete > 0) {
>> + ip6_del_rt(sp_ifa->rt);
>> + sp_ifa->rt = NULL;
>> + } else
>> + continue;
>> + }
>>
>> sp_rt = addrconf_dst_alloc(idev, &sp_ifa->addr, false);
>
> I agree, this seems a lot simpler.
I will post a official version.
> In the end I would like to replace this
> conditional loopback up/down thing with something like below. I haven't done
> the correct hookups into the relevant places, but I hope you get the idea:
>
The code explains everything. the routers will be invalid when device is down
and be enabled when device is up.
look forward to your patch.
> diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
> index 017badb..1648a59a 100644
> --- a/include/net/ip6_route.h
> +++ b/include/net/ip6_route.h
[...]
>
> -static int fib6_ifdown(struct rt6_info *rt, void *arg)
> +static int __fib6_match_or_update_if(struct rt6_info *rt, void *arg)
> {
> const struct arg_dev_net *adn = arg;
> const struct net_device *dev = adn->dev;
>
> if ((rt->dst.dev == dev || !dev) &&
> - rt != adn->net->ipv6.ip6_null_entry)
> - return -1;
> + rt != adn->net->ipv6.ip6_null_entry) {
> + switch (adn->action) {
> + case ARG_DEV_NET_REMOVE:
> + /* remove rt */
> + return -1;
> + case ARG_DEV_NET_DISABLE:
> + WARN_ON(rt->rt6i_flags & RTF_DEAD);
> + rt->rt6i_flags |= RTF_DEAD;
> + return 0;
> + case ARG_DEV_NET_ENABLE:
> + WARN_ON(!(rt->rt6i_flags & RTF_DEAD));
I think this may happen, think a new router is cloned from this rt but hasn't been inserted
into the router tree on other CPU at the same time.
^ permalink raw reply
* [PATCH v2] ip_tunnel: clear IPCB in ip_tunnel_xmit() in case dst_link_failure() is called
From: Duan Jiong @ 2014-01-23 6:00 UTC (permalink / raw)
To: David Miller, pshelar; +Cc: daniel.petre, edumazet, netdev
In-Reply-To: <20140122.212445.2236898585371895394.davem@davemloft.net>
commit a622260254ee48("ip_tunnel: fix kernel panic with icmp_dest_unreach")
clear IPCB in ip_tunnel_xmit() , or else skb->cb[] may contain garbage from
GSO segmentation layer.
But commit 0e6fbc5b6c621("ip_tunnels: extend iptunnel_xmit()") refactor codes,
and it clear IPCB behind the dst_link_failure().
So clear IPCB in ip_tunnel_xmit() just like commti a622260254ee48("ip_tunnel:
fix kernel panic with icmp_dest_unreach").
Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com>
---
v2: add the memset() before the dst_link_failure() call
net/ipv4/ip_tunnel.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index 90ff957..471c8c1 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -618,6 +618,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
tunnel->err_time + IPTUNNEL_ERR_TIMEO)) {
tunnel->err_count--;
+ memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
dst_link_failure(skb);
} else
tunnel->err_count = 0;
--
1.8.3.1
^ permalink raw reply related
* Re: [PATCH] 6lowpan: add a license to 6lowpan_iphc module
From: David Miller @ 2014-01-23 5:59 UTC (permalink / raw)
To: ydroneaud
Cc: alex.bluesman.smirnov, dbaryshkov, marcel, gustavo, johan.hedberg,
linux-zigbee-devel, linux-bluetooth, netdev, linux-kernel,
jukka.rissanen, alex.aring
In-Reply-To: <1390418724-9804-1-git-send-email-ydroneaud@opteya.com>
From: Yann Droneaud <ydroneaud@opteya.com>
Date: Wed, 22 Jan 2014 20:25:24 +0100
> Since commit 8df8c56a5abc, 6lowpan_iphc is a module of its own.
>
> Unfortunately, it lacks some infrastructure to behave like a
> good kernel citizen:
>
> kernel: 6lowpan_iphc: module license 'unspecified' taints kernel.
> kernel: Disabling lock debugging due to kernel taint
>
> This patch adds the basic MODULE_LICENSE(); with GPL license:
> the code was copied from net/ieee802154/6lowpan.c which is GPL
> and the module exports symbol with EXPORT_SYMBOL_GPL();.
>
> Cc: Jukka Rissanen <jukka.rissanen@linux.intel.com>
> Cc: Alexander Aring <alex.aring@gmail.com>
> Cc: Marcel Holtmann <marcel@holtmann.org>
> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Applied.
^ permalink raw reply
* Re: [PATCH] team: Don't allow team devices to change network namespaces.
From: David Miller @ 2014-01-23 5:59 UTC (permalink / raw)
To: chenweilong; +Cc: jiri, netdev
In-Reply-To: <1390446442-12768-1-git-send-email-chenweilong@huawei.com>
From: Chen Weilong <chenweilong@huawei.com>
Date: Thu, 23 Jan 2014 11:07:22 +0800
> From: Weilong Chen <chenweilong@huawei.com>
>
> Like bonding, team as netdevice doesn't cross netns boundaries.
>
> Team ports and team itself live in same netns.
>
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Applied.
^ permalink raw reply
* Re: [PATCH] bonding: Don't allow bond devices to change network namespaces.
From: David Miller @ 2014-01-23 5:59 UTC (permalink / raw)
To: chenweilong; +Cc: fubar, vfalico, andy, netdev
In-Reply-To: <1390382190-1604-1-git-send-email-chenweilong@huawei.com>
From: Chen Weilong <chenweilong@huawei.com>
Date: Wed, 22 Jan 2014 17:16:30 +0800
> From: Weilong Chen <chenweilong@huawei.com>
>
> Like bridge, bonding as netdevice doesn't cross netns boundaries.
>
> Bonding ports and bonding itself live in same netns.
>
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Applied.
^ permalink raw reply
* Re: [patch net-next 0/5] fix bonding slave info API (sysfs and netlink)
From: David Miller @ 2014-01-23 5:58 UTC (permalink / raw)
To: jiri
Cc: netdev, fubar, vfalico, andy, sfeldma, stephen, vyasevic,
nicolas.dichtel, john.r.fastabend
In-Reply-To: <1390377957-31466-1-git-send-email-jiri@resnulli.us>
From: Jiri Pirko <jiri@resnulli.us>
Date: Wed, 22 Jan 2014 09:05:52 +0100
> The main part of this patchset is the introduction of a generic way how
> to get/set info of slaves unsing rtnl_link_ops.
Series applied.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox